hoi,

Ik wil dat mijn script de resultaten van een query op een 'speciale' manier filtert, alleen weet ik niet hoe.
om het even in een voorbeeld te stoppen:

<?php

$query = mysql_query("SELECT order,naam,adres,orderdetail FROM data WHERE naam=$naamvandeklant");

while (list($order,$naam,$adres,$orderdetail) = mysql_fetch_row($query)){

echo $order;
echo $naam;
echo $adres;
echo $orderdetail;

}
?>

de $naam kan meerdere keren in de database voorkomen.

Nu wil ik dat ie maar 1x de $naam toont en de rest zovaak als het voor komt.
hoe doe ik dit?

Hopelijk is het duidelijk wat ik bedoel.

Iig bedankt voor de sugesties.

grt
nathan
Order by toevoegen en dan in die while nog eens binnen in loopen op de $naam.
hoe binnen in de while loopen.
Kun je een voorbeeld geven?
Kan je wat proberen? [php]for[/php], [php]foreach[/php], [php]while[/php] of [php]do.while[/php]?
2 keer een lus gebruiken.

De 1e lust krijg je kadoo ;D

<?php
$aRecords = array();

while( $aRecord = mysql_fetch_assoc($query) )
{
$aRecords[ $aRecord['naam'] ][] = $aRecord;
}

// En hier zou een foreach in een foreach kunnen komen...
?>
Martijn B op 30/09/2010 21:01:24

2 keer een lus gebruiken:




Waarom ga je dit nu dan weer voorzeggen? Laat hem dat eens zelf oplossen. Daar leert ie van.
Je hebt idd gelijk, kant en klare oplossing heb je even wat aan daarna niet meer. Want het is meestal knip/plak en vergeet.

[edit]
Ik heb de kant en klare oplossing wat minder kant en klaar gemaakt.
ik ben een stukje verder:

<?php

$klant = array($row["CUSTOMER_NAME"]);

while (list(, $klant1) = each($klant)){

foreach ($klant as $klant1)

echo $klant1;
}
?>

dit's 'm niet helemaal, ik krijg maar 1 klant terug, terwijl er meerdere terug moeten komen.
Je opent en sluit de foreach functie niet met brackets.

foreach()
{
   echo 'bla bla';
}

Reageren