Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Entfernen Sie sich wiederholende Daten in einer Spalte

Sie können während der Iteration einen Zustand beibehalten, der verfolgt, ob die aktuelle Zeile ein neuer Name/eine neue Zahl ist:

$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>';
}

Beachten Sie, dass Ihre MySQL-Abfrage etwas ORDER BY enthalten sollte -Klausel, um die gewünschte Reihenfolge zu generieren, z. B.

ORDER BY Name, Product;

Wie die obigen Kommentare auch nahelegen, sollten Sie, wenn Sie eine veraltete PHP-API verwenden, ein Upgrade auf etwas Moderneres in Betracht ziehen. Aber die in der obigen Schleife verwendete Logik würde sich durch eine Änderung der MySQL-API nicht wesentlich ändern.