Je zou eerst een query kunnen maken voor het ophalen van de namen - en met behulp van deze namen een query die de bijbehorende berichten ophaalt.rnAls je het doet zoals hierboven, zul je in elke resultaatrij ook een naam krijgen.
Je maakt eerst een while loop, die alleen de namen ophaalt.rnIn die while loop, maak je vervolgens nog een while loop die het bericht ophaalt.rnrn[code]PHPrn$sQuery = SELECT naam FROM tabel;rn$rResult = MySQL_Query($sQuery) or die(MySQL_Error());rnwhile($aFetch = MySQL_Fetch_Assoc($rResult))rn{rn echo Naam BR;rn echo $aFetch['naam'].BR;rn $sQuery = SELECT bericht FROM tabel WHERE naam='.$aFetch['naam'];rn $rResult = MySQL_Query($sQuery) or die(MySQL_Error());rn while($aFetch = MySQL_Fetch_Assoc($rResult))rn {rn echo $aFetch['bericht'].BR;rn }rn}rn[code]rnrnEven een klein voorbeeldje van hoe het zou kunnenD
[code]phprn$sQuery = SELECT naam FROM gastenboek;rn$rResult = mysql_query($sQuery) or die (Het is mislukt);rnwhile($aFetch = mysql_fetch_object($rResult))rn{rn echo Naam BR;rn echo $aFetch['naam'].BR;rn $sQuery = SELECT bericht FROM gastenboek WHERE naam='.$aFetch['naam'];rn $rResult = mysql_query($sQuery) or die (Het is mislukt);rn while($aFetch = mysql_fetch_object($rResult))rn {rn echo $aFetch['bericht'].BR;rn }rn}rn[code] Heb ik dan nu (heb de MySQL_Query veranderd, want nu herkent dreamweaver die wel als functie)rnMaar de output is nurn[quote] NaamrnFredericrnYou have an error in your SQL syntax near ''Naam1' at line1[quote]rnEn Naam1 zal dan wel het eerste zijn wat ie ophaalt zeker... Maar dan loopt het ergens mis
De error is weg, maar nu echo't ie gewoonrn[quote]Naam[quote] en dan niets meer...rnAls ik er rn[code]phprn$sQuery = SELECT naam FROM gastenboek;rn$rResult = mysql_query($sQuery) or die (Het is mislukt);rnwhile($aFetch = mysql_fetch_object($rResult))rn{rn echo Naam BR;rn echo $aFetch-naam.BR;rn $sQuery = SELECT bericht FROM gastenboek WHERE naam='.$aFetch['naam'].';rn $rResult = mysql_query($sQuery) or die (Het is mislukt);rn while($aFetch = mysql_fetch_object($rResult))rn {rn echo $aFetch-bericht.BR;rn }rn}rn[code] van maak echo't ie rnNaamrnNaam1 (dus zonder berichten)
Ok, het is uiteindelijkrn[code]phprn$sQuery = SELECT naam FROM gastenboek;rn$rResult = mysql_query($sQuery) or die (Het is mislukt);rnwhile($aFetch = mysql_fetch_object($rResult))rn{rn echo Naam BR;rn echo $aFetch-naam.BR;rn $sQuery = SELECT bericht FROM gastenboek WHERE naam='.$aFetch-naam.';rn $rResult = mysql_query($sQuery) or die (Het is mislukt);rn while($aFetch = mysql_fetch_object($rResult))rn {rn echo $aFetch-bericht.BR;rn }rn}rn[code]rngeworden, en dat werkt wel...rnHij geeft Naam1, en eronder staan de berichten, maar dan stopt ie s Naam2 komt niet
Dat is omdat je 2 keer aFetch gebruikt, de ene overschrijft de anderere... dus kies 2 verschillende namen.rn[code]phprn$sQuery = SELECT naam FROM gastenboek;rn$rResult = mysql_query($sQuery) or die (Het is mislukt);rnwhile($aFetch = mysql_fetch_object($rResult))rn{rn echo Naam BR;rn echo $aFetch-naam.BR;rn $sQueryB = SELECT bericht FROM gastenboek WHERE naam='.$aFetch-naam.';rn $rResultB = mysql_query($sQueryB) or die (Het is mislukt);rn while($aFetchB = mysql_fetch_object($rResultB))rn {rn echo $aFetchB-bericht.BR;rn }rn}rnrn[code]zo bijvoorbeeld...
1. Controleer met if(mysql_num_rows( of er berichten zijn.rnrn2. Je kunt beter met ID's werken, dat is makkelijker, en als iemand zijn naam wijzigt, krijg je fouten.
[code]phprn$Naam_Query = SELECT naam FROM gastenboek;rn$Naam_Resultaat = mysql_query($Naam_Query) or die (Het is mislukt);rnwhile($Naam_Rij = mysql_fetch_object($Naam_Resultaat))rn{rn echo Naam BR;rn echo $Naam_Rij-naam.BR;rn $Bericht_Query = SELECT bericht FROM gastenboek WHERE naam='.$Naam_Rij-naam.';rn $Bericht_Resultaat = mysql_query($Bericht_Query) or die (Het is mislukt);rn while($Bericht_Rij = mysql_fetch_object($Bericht_Resultaat))rn {rn echo $Bericht_Rij-bericht.BR;rn }rn}rn[code] rnWerkt wel, hij geeft alles weer, maar als het bvb isrnNaam1rnBericht1rnNaam1rnBericht2rnrnDan zal hij 2x zettenrnNaam1rn Bericht1rn Bericht2
het kan ook gewoon met 1 query. Je haalt alle berichten op, gesorteerd op naam (en evt. op datum ofzo). Dan ga je die berichten echoën in een while.rnJe controleert dan elke keer of de naam van het bericht dat je wilt printen gelijk is de naam van het vorige bericht. Als die niet gelijk zijn echo je de naam, anders alleen het bericht.
[quote]Werkt wel, hij geeft alles weer, maar als het bvb isrnNaam1rnBericht1rnNaam1rnBericht2rnrnDan zal hij 2x zettenrnNaam1rnBericht1rnBericht2[quote] Dat kun je oplossen met SELECT DISTINCT naam FROM gastenboekrnrnmaar zo kan het ookrn[code]phprnrnje kunt evt. ook nog sorteren op datum, zodat oudstenieuwste bovenaan komenrn$result = mysql_query('SELECT naam, bericht FROM gastenboek ORDER BY naam');rnrnvariabele om de naam van het laatste bericht bij te houdenrn$naam = '';rnrnwhile($rij = mysql_fetch_assoc($result)){rnrn als de naam van dit bericht niet gelijk is aan de naam van het vorige bericht printen we de naam en veranderen we $naamrn if($rij['naam'] != $naam){rnrn echo ($naam = $rij['naam']).'br';rnrn }rnrn bericht weergevenrn echo $rij['bericht'].'br';rnrn}rnrn[code]