sql >> Database >  >> RDS >> Mysql

Herhaalde gegevens in een kolom verwijderen

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.



  1. Krijg MySQL Server-versie met PDO

  2. Hoe voer je SQL uit vanuit een bash-script?

  3. MySQL-lus door tabellen

  4. De beste manier om tags voor snelheid op te slaan in een enorme tabel