Ik wil met een while lus gegevens uit de database tonen.
Nu krijg ik dus 10x de eerste record.
Maar ik wil gewoon 10 verschillende records..
Ik weet dat dit fout is maar ik kan nergens vinden hoe het wel moet...
BVD

<?php
$result = mysql_query("SELECT * FROM mail WHERE ontvanger = '$inlognaam'");
$row = mysql_fetch_assoc($result);
$verzender = $row['verzender'];
$onderwerp = $row['onderwerp'];
$datum = $row['datum'];

$aantal = 1;
while( $aantal <= 10 ){
echo $verzender;
echo $onderwerp;
echo $datum;
$aantal++ ;
}
?>
Wat is er steeds hetzelfde dan want ik neem aan dat er dan ook bepaalde data in velden van de database hetzelfde zijn ?
HenkTest0000-00-00 00:00:00HenkTest0000-00-00 00:00:00HenkTest0000-00-00 00:00:00HenkTest0000-00-00 00:00:00HenkTest0000-00-00 00:00:00HenkTest0000-00-00 00:00:00HenkTest0000-00-00 00:00:00HenkTest0000-00-00 00:00:00HenkTest0000-00-00 00:00:00HenkTest0000-00-00 00:00:00

Dat komt eruit als ik hem run maar dat is alleen de eerste er staan nog veel meer records
Logisch, jij fetcht maar 1x en dus uitsluitend het eerste record. Zie regel 3.

het fetchen moet je dus in de while-lus doen, anders kom je nooit en te nimmer bij het volgende resultaat:
<?php
while($row = mysql_fetch_assoc($result)){
// doe iets met $row
}
?>
Jouw $verzender slaat nergens op, dat is niet meer dan een kopietje van $row['verzender']. Niet gebruiken dus, gebruik gewoon het origineel. Daar is toch niets mis mee?
Jeroen schreef op 30.01.2009 14:27
HenkTest0000-00-00 00:00:00HenkTest0000-00-00 00:00:00HenkTest0000-00-00 00:00:00HenkTest0000-00-00 00:00:00HenkTest0000-00-00 00:00:00HenkTest0000-00-00 00:00:00HenkTest0000-00-00 00:00:00HenkTest0000-00-00 00:00:00HenkTest0000-00-00 00:00:00HenkTest0000-00-00 00:00:00

Dat komt eruit als ik hem run maar dat is alleen de eerste er staan nog veel meer records


Probeer eens GROUP BY te gebruiken;
http://www.w3schools.com/sql/sql_groupby.asp
Je zou eventueel met een GROUP BY kunnen werken.....

<?PHP
$res = mysql_query("SELECT * FROM mail WHERE ontvanger = '$inlognaam' GROUP BY ontvanger");

$row = mysql_fetch_array($res);
?>

<?php
$result = mysql_query("SELECT * FROM mail WHERE ontvanger = '$inlognaam'");

while($row = mysql_fetch_assoc($result)){
     echo $row['verzender'];
     echo $row['onderwerp'];
     echo $row['datum'];  
}

?> 


edit:
Hierbij kan je best ook eerst controleren of je wel resultaat hebt.


if(mysql_num_rows($result)>=1)
Jeroen schreef op 30.01.2009 14:36
Hartelijke dank het werkt!


Geen probleem, lees eens alle beginselen van php/mysql door, dit soort dingen moet je weten ;)
GROUP BY? Hebben jullie wel enig idee waar GROUP BY voor is bedoeld? Een complete blunder om hier GROUP BY te gaan gebruiken, er is hier helemaal geen sprake van groepjes data waar je eigenschappen van opvraagt. Er is sprake een fetch-functie op een verkeerde plek...
Jeroen schreef op 30.01.2009 14:36
Hartelijke dank het werkt!
Hopelijk ben je niet in de GROUP BY gestonken, dat is echt hartstikke fout.

Reageren