sql >> Databáze >  >> RDS >> Mysql

Odeberte opakující se data ve sloupci

Během iterace můžete udržovat určitý stav, který sleduje, zda je aktuální řádek novým názvem/splatným:

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

Všimněte si, že váš dotaz MySQL by měl mít nějaké ORDER BY klauzule, abyste vygenerovali požadované uspořádání, např.

ORDER BY Name, Product;

Jak také naznačují výše uvedené komentáře, pokud používáte zastaralé PHP API, měli byste zvážit upgrade na něco modernějšího. Ale logika použitá ve výše uvedené smyčce by se změnou MySQL API příliš nezměnila.



  1. Jak generovat jedinečný alfanumerický obsah v MySQL?

  2. Při provádění skriptu na SQLPlus vytiskne místo výstupu posloupnost čísel

  3. Převeďte skript Coldfusion v zobrazení Oracle pomocí CASE a iterace

  4. Jak vrátím datové typy SQL z mého dotazu?