meerdere gegevens weergen die voldoen aan dezelfde voorwaarde

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Louis Deconinck

Louis Deconinck

02/08/2012 17:32:58
Quote Anchor link
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
 
PHP hulp

PHP hulp

16/09/2021 18:08:45
 
Eddy E

Eddy E

02/08/2012 17:45:43
Quote Anchor link
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...
 
Louis Deconinck

Louis Deconinck

02/08/2012 17:51:34
Quote Anchor link
Wel tot nu toe heb ik dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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'];
?>


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)
PHP script in nieuw venster Selecteer het PHP script
1
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 />";
   }


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
 
Crispijn -

Crispijn -

02/08/2012 18:11:46
Quote Anchor link
Probeer dit eens:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sql
= "SELECT * FROM gebr WHERE ref1='%Jan%'";
?>


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)
PHP script in nieuw venster Selecteer het PHP script
1
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'];
}

?>


Succes!
 
Louis Deconinck

Louis Deconinck

02/08/2012 18:13:55
Quote Anchor link
Ok, heel erg bedankt Crispijn, maar dat probleem heb ik zojuist opgelost ik zit echter nog met een ander probleem:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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 />";
   }

?>


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
 
Erwin H

Erwin H

02/08/2012 18:15:39
Quote Anchor link
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.
 
Louis Deconinck

Louis Deconinck

02/08/2012 18:19:25
Quote Anchor link
Bedankt Erwin, dat is inderdaad wel een domme fout :-p
 
Eddy E

Eddy E

02/08/2012 18:23:55
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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 />";
   }
Gewijzigd op 02/08/2012 18:24:45 door Eddy E
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.