Zeigen Sie die Daten basierend auf einem Fremdschlüssel an

Benj

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>';
}
Tim Biegeleisen

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.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

So zeigen Sie Daten basierend auf einem vordefinierten Datum an

So filtern Sie Fremdschlüssel, die auf sich selbst zeigen

Zeigen Sie die Komponente basierend auf einem anderen Komponentenlebenszyklus an

So schwenken Sie die Daten basierend auf einem anderen Spaltenwert

Sortieren Sie die Daten basierend auf einem bestimmten Wert SQL

Zeigen Sie die Daten basierend auf 2 nicht numerischen und numerischen Daten in 1 Liniendiagramm in Python an

Filterung basierend auf einem Fremdschlüssel in Django

So zeigen Sie Angular-Controller-Daten basierend auf einem bestimmten Wert an

Schließen Sie Modelle basierend auf einem Wert aus einem anderen Modell ohne Fremdschlüssel aus

Kombinieren / filtern Sie die Daten in zwei Blättern und zeigen Sie sie auf einem dritten Blatt an

Zeigen Sie die Daten basierend auf der Hierarchie an [Großeltern -> Eltern -> Kind]

Zeigen Sie die Daten eines Array-Elements basierend auf dem ausgewählten Optionsfeld an

So erhalten Sie Daten aus einer Tabelle basierend auf dem Fremdschlüssel in sql

Zeigen Sie die Schaltfläche "Weiterlesen" basierend auf der Anzahl der Zeilen in einem Div . an

Verwenden Sie einen Trigger, um einen Wert basierend auf einem Fremdschlüssel einzufügen

MYSQL: So zeigen Sie Daten an, wenn der Fremdschlüssel implodiert (',')

Kombinieren Sie die Daten basierend auf einem gemeinsamen Index mit Daten

Definieren Sie die Position basierend auf der niedrigsten ID und dem niedrigsten Fremdschlüssel in MySQL

Erstellen Sie ein Array von Objekten, indem Sie die Daten basierend auf einem anderen Array filtern

So zeigen Sie Säulendiagrammwerte basierend auf einem Gesamtwert an

Zeigen Sie einen Prozentsatz basierend auf einem Produktpreis im Woocommerce an

Zeigen Sie ein Div basierend auf einem anderen Div

Bereinigen Sie die Daten basierend auf Zustandspandas

Werte aus mehreren Tabellen basierend auf einem Fremdschlüssel abrufen

Erzwingen einer eindeutigen Einschränkung basierend auf einem Fremdschlüssel

Kopieren Sie Daten von df in ein anderes df in mehreren Spalten basierend auf einem Schlüssel

So pushen Sie Daten basierend auf einem bestimmten Schlüssel in Typoskript in ein gleiches Objekt

Rufen Sie nur eine Zeile ab, indem Sie einen linken Join basierend auf einem Fremdschlüssel verwenden

Filtern Sie die Daten basierend auf einem anderen Arbeitsmappenzellenwert mit VBA

TOP Liste

heißlabel

Archiv