U kunt tijdens het herhalen een bepaalde status behouden die bijhoudt of de huidige rij een nieuwe naam/betaalbaar is:
$last_name_seen = NULL;
while ($row = mysql_fetch_array($result)) {
$firstname = "";
$payable = "";
if ($last_name_seen === NULL || $row['firstname'] != $last_name_seen) {
$last_name_seen = $row['firstname'];
$firstname = $row['firstname'];
$payable = $row['payable'];
}
echo '<tr>';
echo '<td style="border: 1px solid black;">'.$firstname.'</td>';
echo '<td>'.$payable.'</td>';
echo '<td>'.$row['product'].'</td>';
echo '<td>'.$row['qty'].'</td>';
echo '</tr>';
}
Houd er rekening mee dat uw MySQL-query een aantal ORDER BY
. moet hebben clausule, om de gewenste bestelling te genereren, bijvoorbeeld
ORDER BY Name, Product;
Zoals de opmerkingen hierboven ook suggereren, zou je, als je een verouderde PHP API gebruikt, moeten overwegen om te upgraden naar iets moderners. Maar de logica die in de bovenstaande lus wordt gebruikt, zou niet veel veranderen bij het wijzigen van de MySQL API.