Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem bei Online-Shop mit PHP/ MySQL

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem bei Online-Shop mit PHP/ MySQL

    Hallo, ich bin´s mal wieder!

    Ich baue mir gerade einen Online-Shop mit PHP/ MySQL.
    Auf meiner Admin-Seite kann ich jede Bestellung anzeigen.
    5 je Seite, dann weiterblättern zu den nächsten 5 usw.


    Und zwar in Tabellenform:

    Bestelldatum, Vor-u. Nachname, Lieferadresse, Artikelname- u. Menge, Art der Bezahlung.
    Zusätzlich habe ich noch einen delete-Link sowie einen comment-Link zugefügt:

    ...
    // Löschen eines Datensatzes
    if($action=="delete"){
    $orders_SQL_del="DELETE FROM orders WHERE entry_ID=$entry_ID";
    $bool=mysql_query($orders_SQL_del);
    $del="style=background-image:url(images/delete.gif); background-repeat:no-repeat; background-position:0px 0px";
    }

    // Einfügen eines Kommentars
    if($action=="update"){
    $orders_SQL_update="UPDATE orders SET comment='$comment' WHERE entry_ID='$entry_ID'";
    $bool=mysql_query($orders_SQL_update);
    }
    ...

    Das Problem:

    Wenn ich den delete_Link anklicke, passiert zuerst mal gar nichts. Erst wenn ich den Aktualisieren-Button in der Statuszeile des Browsers klicke, wird der Eintrag gelöscht.

    Ebenso geht´s mir beim Einfügen eines Kommentars (z.B. Bestellung am 10.12.07 versendet). Der Kommentar wird zwar erfasst, aber erst nach Anklicken des Aktualisieren-Buttons angezeigt?

    Warum wird der Datensatz nicht DIREKT nach Betätigen des delete-Buttons entfernt bzw. der Kommentar direkt angezeigt.

    Vielleicht weiß ja wer einen Rat, es kann sich ja (hoffentlich) nur um einen kleinen Fehler handeln???

    Danke im Voraus,

    Matthias

  • #2
    Könnte an der Reihenfolge deines Codes liegen. Wenn du im selben Skript die Tabelle ausliest, aber erst danach löscht, ist der Datensatz gelöscht, wird aber trotzdem noch angezeigt.

    In Zukunft oder falls es das nicht war, bitte sinnvollen Betreff und mehr relevanten Code.

    Kommentar


    • #3
      Hallo, Zerling!

      Sorry wegen des Betreffs, mir fiel aber beim besten Willen nichts ein, dass für jedermann sofort verständlich das Problem zum Ausdruck bringen könnte...

      Hier die Kurzfom des Scripts auf Grundlage der Kommentare:

      Verbindung zur DB aufbauen
      Einträge aus DB auslesen
      Anzahl der Datensätze ermitteln
      Links für das Blättern zwischen den Bestellungen erzeugen
      Löschen eines Datensatzes
      Einfügen eines Kommentars

      dann

      Formatierung des Datums
      Ausgabe der Bestellungen -> mit dem delete-u. comment Link
      Verbindung zur DB schließen

      Nach Deiner Antwort leuchtet mir jetzt ein, warum der Datensatz zwar gelöscht, aber trotzdem noch angezeigt wird.

      Doch wie kann ich die Reihenfolge ändern?
      Man kann ja nichts löschen, was nicht zuerst ausgelesen wurde???

      Ich habe mir überlegt, die Abfrageergebnisse zwischen zu speichern und an ein weiteres Skript zur Auswertung zu senden. Dann müsste es eigentlich funktionieren??? Aber das kann´s ja nicht sein, oder?

      Matthias

      Kommentar


      • #4
        deine reihenfolge:
        SELECT - TEIL

        // Löschen eines Datensatzes
        if($action=="delete"){
        $orders_SQL_del="DELETE FROM orders WHERE entry_ID=$entry_ID";
        $bool=mysql_query($orders_SQL_del);
        $del="style=background-image:url(images/delete.gif); background-repeat:no-repeat; background-position:0px 0px";
        }
        veränderte reihenfolge:
        // Löschen eines Datensatzes
        if($action=="delete"){
        $orders_SQL_del="DELETE FROM orders WHERE entry_ID=$entry_ID";
        $bool=mysql_query($orders_SQL_del);
        $del="style=background-image:url(images/delete.gif); background-repeat:no-repeat; background-position:0px 0px";
        }

        SELECT-Teil

        Kommentar


        • #5
          Zitat von moose
          deine reihenfolge:
          SELECT - TEIL

          // Löschen eines Datensatzes
          if($action=="delete"){
          $orders_SQL_del="DELETE FROM orders WHERE entry_ID=$entry_ID";
          $bool=mysql_query($orders_SQL_del);
          $del="style=background-image:url(images/delete.gif); background-repeat:no-repeat; background-position:0px 0px";
          }
          veränderte reihenfolge:
          // Löschen eines Datensatzes
          if($action=="delete"){
          $orders_SQL_del="DELETE FROM orders WHERE entry_ID=$entry_ID";
          $bool=mysql_query($orders_SQL_del);
          $del="style=background-image:url(images/delete.gif); background-repeat:no-repeat; background-position:0px 0px";
          }

          SELECT-Teil
          Danke, Moose!



          mfg, Matthias

          Kommentar

          Lädt...
          X