Meer dan 1 regel uit MYSQL

Status
Niet open voor verdere reacties.

KaWouter

Terugkerende gebruiker
Lid geworden
9 mei 2002
Berichten
1.032
Ik krijg nu steeds maar 1 regel te zien terwijl er veel meer in staan

wat doe ik fout?

PHP:
<? include("../config/config.php"); ?>
<?

$add = $ondeel=$_GET['ondeel'];
$query = "SELECT * FROM $tabelnaam WHERE `ondeel` = '" . $ondeel . "'";
$result = mysql_query($query) or die("Error in query:".mysql_error());

?>

<html>
<head>
<title>Bekijk onderdeel <? echo $add ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>


<table width="102%" border="0">
  <tr> 
    <td>Naam</td>
    <td>Adres</td>
    <td>Postcode</td>
    <td>Telefoon nummer</td>
    <td>06-nummer</td>
	<td>Geboortedatum</td>
    <td>Email adres</td>
    <td>Onderdeel</td>
  </tr>
    <tr> 
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
<?
($row = mysql_fetch_assoc($result))
?>
<?
    echo "<tr>";
    echo "<td>";
    echo "<a href='edit_lid.php?id=";
    echo $row['id'];
    echo "&ondeel=";
    echo $add;
    echo "'>";
    echo $row ["naam"]  . " " . $row["tussenvoeg"] . " " . $row["achternaam"] ."";
	echo "</a> </td>"; 
    echo "<td>" . $row["adres_1"] . " " . $row2["hnr_1"] . "</td>";
    echo "<td>" . $row["pcode_1"] . "</td>";
    echo "<td>" . $row["tnr_1"] . "</td>";
    echo "<td>" . $row["mobnr_1"] . "</td>";
    echo "<td>" . $row["gebdat"] . "</td>";
    echo "<td>";
	echo "<a href='mailto:";
    echo $row["email_1"];
	echo "'>";
	echo $row["email_1"];
	echo "</a>";	
	echo "</td>";
	echo "<td>";	
	echo $row["ondeel"];	
    echo "</td>";
	echo "</tr>";
    echo "<tr>"; 
    echo "<td>";
	echo "</td>";
    echo "<td>" . $row["adres_2"] . " " . $row["hnr_2"] . "</td>";
    echo "<td>" . $row["pcode_2"] . "</td>";
    echo "<td>" . $row["tnr_2"] . "</td>";
    echo "<td>" . $row["mobnr_2"] . "</td>";
    echo "<td>" . $row["email_2"] . "</td>";	
    echo "<td>";
	echo "</td>";
	echo "<td>";
    echo "</td>";
 echo "</tr>";  

?>
</table>
<? include("footer.php"); ?>
</body>
</html>
 
ik snap niet waarom je constant dat "_1" en "_2" erachter doet...alsof je daarmee aan wil tonen dat hij zo de zoveelste rij moet pakken.....zo gaat dat niet
PHP:
<?
while($row = mysql_fetch_assoc($result))
{
    echo "<tr>";
    echo "<td>";
    echo "<a href='edit_lid.php?id=";
    echo $row['id'];
    echo "&ondeel=";
    echo $add;
    echo "'>";
    echo $row ["naam"]  . " " . $row["tussenvoeg"] . " " . $row["achternaam"] ."";
    echo "</a> </td>"; 
    echo "<td>" . $row["adres"] . " " . $row2["hnr"] . "</td>";
    echo "<td>" . $row["pcode"] . "</td>";
    echo "<td>" . $row["tnr"] . "</td>";
    echo "<td>" . $row["mobnr"] . "</td>";
    echo "<td>" . $row["gebdat"] . "</td>";
    echo "<td>";
    echo "<a href='mailto:";
    echo $row["email"];
    echo "'>";
    echo $row["email"];
    echo "</a>";    
    echo "</td>";
    echo "<td>";    
    echo $row["ondeel"];    
    echo "</td>";
    echo "</tr>";
}
?>
de while() zorgt ervoor dat hij doorgaat totdat er geen meer zijn...

succes
 
Ik heb die 1 en 2 erachter omdat het een ledenlijst wordt met ook jeugdige leden die weleens gescheiden
ouders hebben waardoor ze dus 2 adressen hebben....

Dus heb ik ook 2 velden in de database voor het adres postcode enz....
 
Laatst bewerkt:
En wat doe ik hier verkeerd?

PHP:
if
(($ondeel == "leiding") { 
$query = "SELECT * FROM $tabelnaam WHERE `ondeel` = 'leiding1' + 'leiding2' + 'leiding3' + 'leiding4' + 'leiding5'";
$result = mysql_query($query) or die("Error in query:".mysql_error());}
 else
{
$query = "SELECT * FROM $tabelnaam WHERE `ondeel` = '" . $ondeel . "'";
$result = mysql_query($query) or die("Error in query:".mysql_error());
}
?>
 
Laatst bewerkt:
je kan niet "leiding1" + "leiding2" doen, laat staan dat je dat in een mysql query doet
je kan wel 1 variabele aanmaken waarin je alle leidingen achter mekaar zet....
PHP:
$woordje = "leiding1leiding2leiding3leiding4";
en als je leiding als variabele bedoeld kun je het ook achter mekaar zetten....
PHP:
$woordje = ($leiding1 . $leiding2 . $leiding3 . $leiding4);
en op die manier kun je 't dan in de query zetten ;)
 
Hmmm ik begrijp er geen snars van......

Hoe kan ik deze code kloppens maken???

PHP:
<?
if
($ondeel == "alle") { 
$query = "SELECT * FROM $tabelnaam ORDER BY ondeel ASC";
$result = mysql_query($query) or die("Error in query:".mysql_error());}

if
($ondeel == "leiding") { 
$query = "SELECT * FROM $tabelnaam WHERE `ondeel` = 'leiding1' + 'leiding2' + 'leiding3'";
$result = mysql_query($query) or die("Error in query:".mysql_error());}
 else
{
$query = "SELECT * FROM $tabelnaam WHERE `ondeel` = '" . $ondeel . "'";
$result = mysql_query($query) or die("Error in query:".mysql_error());
}
?>
 
Laatst bewerkt:
PHP:
<?
if($ondeel == "alle")
{ 
$query = "SELECT * FROM " . $tabelnaam . " ORDER BY ondeel ASC";
$result = mysql_query($query) or die("Error in query:".mysql_error());
}
elseif($ondeel == "leiding")
{
$woord = "leiding1leiding2leiding3";
$query = "SELECT * FROM " . $tabelnaam . " WHERE ondeel = '" . $woord . "''";
$result = mysql_query($query) or die("Error in query:".mysql_error());
}
else
{
$query = "SELECT * FROM " . $tabelnaam . " WHERE ondeel = '" . $ondeel . "'";
$result = mysql_query($query) or die("Error in query:".mysql_error());
}
?>
wellicht ?
 
Bijna alleen de "leiding" werkt nog niet...



Error in query:You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''leiding1leiding2leiding3''' at line 1
 
foutje, een ' te veel...
PHP:
<?
if($ondeel == "alle")
{ 
$query = "SELECT * FROM " . $tabelnaam . " ORDER BY ondeel ASC";
$result = mysql_query($query) or die("Error in query:".mysql_error());
}
elseif($ondeel == "leiding")
{
$woord = "leiding1leiding2leiding3";
$query = "SELECT * FROM " . $tabelnaam . " WHERE ondeel = '" . $woord . "'";
$result = mysql_query($query) or die("Error in query:".mysql_error());
}
else
{
$query = "SELECT * FROM " . $tabelnaam . " WHERE ondeel = '" . $ondeel . "'";
$result = mysql_query($query) or die("Error in query:".mysql_error());
}
?>
 
Nu als ondeel = leiding zie je niets op de pagina :S
 
waarschijnlijk is er dan geen enkele rij waarbij de kolom 'ondeel' de waarde 'leiding1leiding2leiding3' heeft.....ik snapte ook niet precies wat je daar nou mee wilde, als je daar mee bedoeld:
als de kolom 'ondeel' de waarde 'leiding1' OF 'leiding2' OF 'leiding3' heeft....dan moet de query ff aangepast worden....
PHP:
<?
if($ondeel == "alle")
{ 
$query = "SELECT * FROM " . $tabelnaam . " ORDER BY ondeel ASC";
$result = mysql_query($query) or die("Error in query:".mysql_error());
}
elseif($ondeel == "leiding")
{
$query = "SELECT * FROM " . $tabelnaam . " WHERE ondeel LIKE 'leiding%'";
$result = mysql_query($query) or die("Error in query:".mysql_error());
}
else
{
$query = "SELECT * FROM " . $tabelnaam . " WHERE ondeel = '" . $ondeel . "'";
$result = mysql_query($query) or die("Error in query:".mysql_error());
}
?>
 
Ik kom van de pagina "bekijk.php?ondeel=leiding"

en ik heb verschillende soorten leiding in me database staan en namelijk 5 verschillende dus als ondeel=leiding moet hij alleen die weergeven....
(als het kan tenminste)
 
Maar hij werkt!

Dank je dank je

weer een functie geleerd :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan