Der Code, den Sie vor einiger Zeit gesendet haben, funktioniert perfekt auf meinem System, daher habe ich ihn auch in einem anderen Modul verwendet, in dem der Administrator das Datum anzeigen kann. Aber ich bin auf Probleme gestoßen.
Dies ist der Fall, wenn der erste Benutzer, der zuerst seine Bestellung hinzugefügt hat, und sogar der nächste Benutzer, der denselben Namen und Abschnitt hat, jetzt korrekt aufgezeichnet und gespeichert werden. Das Problem besteht jedoch darin, dass nach Abschluss der Aufzeichnung ein doppelter Wert der ersten aufgezeichneten Reihenfolge angezeigt wird.
DATE | NAME | SECTION | PAYABLE | PRODUCT | QUANTITY
10/04/18 | User1 | Section 1 | 990 | Magic Mug | 3
| T-shirt | 3
10/04/18 | User1 | Section 1 | 630 | Magic Mug | 3
| Thumbler | 2
10/04/18 | User1 | Section 1 | 990 | Magic Mug | 3
| T-shirt | 3
Dies ist der von mir verwendete PHP-Code, in dem ich Ihrem Code nur das Datum hinzugefügt habe.
$last_date = NULL;
$last_name = NULL;
$last_section = NULL;
$last_payable = NULL;
while ($row = mysql_fetch_array($result)) {
$date = "";
$name = "";
$section = "";
$payable = "";
if ($last_name === NULL || $last_date != $row['date'] ||
$last_name != $row['name'] ||
$last_section != $row['section'] ||
$last_payable != $row['payable']) {
$last_date = $row['date'];
$last_name = $row['name'];
$last_section = $row['section'];
$last_payable = $row['payable'];
$date = $row['date'];
$name = $row['name'];
$section = $row['section'];
$payable = $row['payable'];
}
echo '<tr style="text-align:center;">';
echo '<td>'.$date.'</td>';
echo '<td>'.$name.'</td>';
echo '<td>'.$section.'</td>';
echo '<td>'.$payable.'</td>';
echo '<td>'.$row['product'].'</td>';
echo '<td>'.$row['qty'].'</td>';
echo '</tr>';
}
Ihre erwartete Ausgabe schlägt vor, dass wir den Namen, den Abschnitt und die zu zahlenden Werte einmal anzeigen sollten, wenn sich einer dieser drei Werte ändert. Daher können wir die Antwort auf Ihre vorherige Frage leicht ändern , um den Status für diese drei Spalten beizubehalten, während die Ergebnismenge wiederholt wird.
$last_date = NULL;
$last_name = NULL;
$last_section = NULL;
$last_payable = NULL;
while ($row = mysql_fetch_array($result)) {
$date = "";
$name = "";
$section = "";
$payable = "";
if ($last_name === NULL ||
$last_date != $row['date'] ||
$last_name != $row['name'] ||
$last_section != $row['section'] ||
$last_payable != $row['payable']) {
$last_date = $row['date'];
$last_name = $row['name'];
$last_section = $row['section'];
$last_payable = $row['payable'];
$date = $row['date'];
$name = $row['name'];
$section = $row['section'];
$payable = $row['payable'];
}
echo '<tr style="text-align:center;">';
echo '<td>'.$date.'</td>';
echo '<td>'.$name.'</td>';
echo '<td>'.$section.'</td>';
echo '<td>'.$payable.'</td>';
echo '<td>'.$row['product'].'</td>';
echo '<td>'.$row['qty'].'</td>';
echo '</tr>';
}
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen