Mysql
 sql >> Database >  >> RDS >> Mysql

Rimuovere i dati ripetuti in una colonna

Puoi mantenere uno stato durante l'iterazione che tiene traccia se la riga corrente è un nuovo nome/pagabile:

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

Nota che la tua query MySQL dovrebbe avere alcuni ORDER BY clausola, per generare l'ordine desiderato, ad es.

ORDER BY Name, Product;

Come suggeriscono anche i commenti sopra, se stai utilizzando un'API PHP deprecata, dovresti considerare l'aggiornamento a qualcosa di più moderno. Tuttavia, la logica utilizzata nel ciclo precedente non cambierebbe molto con la modifica dell'API MySQL.