meerdere gegevens weergen die voldoen aan dezelfde voorwaarde
Ik wil dus dat bijvoorbeeld alle gebruikers met de naam Jan uit de databse worden gehaald en dat deze dan worden weergegeven op de website met alle andere gegevens die nog in deze rijen zitten. Liefst had ik deze ook geordend met een nummer, hoe doe je dit?
Gewijzigd op 02/08/2012 17:33:18 door Louis Deconinck
Google op "sql select", "sql where", "sql order by", mysqli_query(), mysqli_fetch_assoc(), php echo.
Op die volgorde moet je er wel uitkomen.
't Lijkt net alsof je zelf nog niets gedaan hebt. Je plaatst niet eens wat code...
Op die volgorde moet je er wel uitkomen.
't Lijkt net alsof je zelf nog niets gedaan hebt. Je plaatst niet eens wat code...
Wel tot nu toe heb ik dit:
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:
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?
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
Probeer dit eens:
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:
Succes!
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!
Ok, heel erg bedankt Crispijn, maar dat probleem heb ik zojuist opgelost ik zit echter nog met een ander probleem:
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?
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
En je echo kan korter.
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.
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




