meerdere gegevens weergen die voldoen aan dezelfde voorwaarde
Gewijzigd op 02/08/2012 17:33:18 door Louis Deconinck
Op die volgorde moet je er wel uitkomen.
't Lijkt net alsof je zelf nog niets gedaan hebt. Je plaatst niet eens wat code...
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$inv1=mysql_query("SELECT * FROM gebr WHERE ref1='".$gebr['id']."'") or die(mysql_error());
$ref1 = mysql_fetch_assoc($inv1);
echo $ref1['naam'];
?>
$inv1=mysql_query("SELECT * FROM gebr WHERE ref1='".$gebr['id']."'") or die(mysql_error());
$ref1 = mysql_fetch_assoc($inv1);
echo $ref1['naam'];
?>
Dit werkt wel, alleen geeft hij maar 1 resultaat, terwijl er in mijn databse 2 resultaten zijn die hieraan voldoen ref1='".$gebr['id']."', hoe kan ik er dus voor zorgen dat hij alle resultaten output (eventueel geordend met 1, 2, 3, ...)
Alvast bedankt
Toevoeging op 02/08/2012 18:09:59:
Ok ondertussen heb ik de oplossing gevonden:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
$inv1=mysql_query("SELECT * FROM gebr WHERE ref1='".$gebr['id']."'") or die(mysql_error());
$ref1 = mysql_fetch_assoc($inv1);
$whilecount=0
while($row = mysql_fetch_array($inv1))
{
$whilecount=$whilecount+1;
echo $whilecount;
echo " ";
echo $row['naam'];
echo "<br />";
}
$ref1 = mysql_fetch_assoc($inv1);
$whilecount=0
while($row = mysql_fetch_array($inv1))
{
$whilecount=$whilecount+1;
echo $whilecount;
echo " ";
echo $row['naam'];
echo "<br />";
}
Het probleem is, dat wanneer 2 mensen exact dezelfde naam hebben (wat mogelijk is), hij dit maar 1 keer toont, hoe kan ik er voor zorgen dat wanneer 2 mensen dezelfde naam hebben, hij deze toch alle twee toont?
Gewijzigd op 02/08/2012 18:13:15 door Louis Deconinck
Zo haal je alle namen op die iets met Jan hebben
Als je er van uit gaat meerdere resultaten terug te krijgen moet je altijd met een loop aan de slag gaan:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$res = mysql_query($sql);
if (!$res) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}
while($row = mysql_fetch_assoc($res)){
echo $row['naam'];
}
?>
$res = mysql_query($sql);
if (!$res) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}
while($row = mysql_fetch_assoc($res)){
echo $row['naam'];
}
?>
Succes!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$inv1=mysql_query("SELECT * FROM gebr WHERE ref1='".$gebr['id']."'") or die(mysql_error());
$ref1 = mysql_fetch_assoc($inv1);
$whilecount=0
while($row = mysql_fetch_array($inv1))
{
$whilecount=$whilecount+1;
echo $whilecount;
echo " ";
echo $row['naam'];
echo "<br />";
}
?>
$inv1=mysql_query("SELECT * FROM gebr WHERE ref1='".$gebr['id']."'") or die(mysql_error());
$ref1 = mysql_fetch_assoc($inv1);
$whilecount=0
while($row = mysql_fetch_array($inv1))
{
$whilecount=$whilecount+1;
echo $whilecount;
echo " ";
echo $row['naam'];
echo "<br />";
}
?>
Het probleem is, dat wanneer 2 mensen exact dezelfde naam hebben (wat mogelijk is), hij dit maar 1 keer toont, hoe kan ik er voor zorgen dat wanneer 2 mensen dezelfde naam hebben, hij deze toch alle twee toont?
Gewijzigd op 02/08/2012 18:14:59 door Louis Deconinck
Louis Deconinck op 02/08/2012 17:51:34:
Het probleem is, dat wanneer 2 mensen exact dezelfde naam hebben (wat mogelijk is), hij dit maar 1 keer toont, hoe kan ik er voor zorgen dat wanneer 2 mensen dezelfde naam hebben, hij deze toch alle twee toont?
Dat heeft helemaal niets met de naam te maken, maar met het feit dat je twee keer fetcht voor je de eerste naam naar het scherm print. Op de manier zoals je het nu hebt wordt altijd het eerste record weggegooid.
Bedankt Erwin, dat is inderdaad wel een domme fout :-p
Gebruik niet $i = $i + 1; maar gewoon $i++;
En gebruik geen or die(). Dat is niet nodig.
En je miste een puntkomma achter de declaratie van $whilecount.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$inv1 = mysql_query("SELECT * FROM gebr WHERE ref1 = '".$gebr['id']."'; ");
if($inv1 === false)
{
echo 'Query mislukt bij regel '.__LINE__.': '.mysql_error();
}
$whilecount = 0;
while($row = mysql_fetch_assoc($inv1))
{
$whilecount++;
echo $whilecount." ".$row['naam']."<br />";
}
$inv1 = mysql_query("SELECT * FROM gebr WHERE ref1 = '".$gebr['id']."'; ");
if($inv1 === false)
{
echo 'Query mislukt bij regel '.__LINE__.': '.mysql_error();
}
$whilecount = 0;
while($row = mysql_fetch_assoc($inv1))
{
$whilecount++;
echo $whilecount." ".$row['naam']."<br />";
}
Gewijzigd op 02/08/2012 18:24:45 door Eddy E