Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Löschfunktion einer Datensatzauflistung (einzeln)

Einklappen

Neue Werbung 2019

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

  • #31
    Haben Deine Links vielleicht immer dieselbe ID die sie der delete.php übergeben?
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

    Kommentar


    • #32
      Haben Deine Links vielleicht immer dieselbe ID die sie der delete.php übergeben?
      das würde aber nicht erklären warum immer das letzte glöscht wird!!!
      was vl hilfreich wäre, die tabellen struktur, weil ich bin nicht sicher ob der key stimmt also die id ,, wie die heißt oder was des für a fels is ...
      PHP-Code:
      if ( $humans >= ) {
         
      war ();

      Kommentar


      • #33
        von der Logik her ja. Hab mich nach asipaks beispiel gehalten.
        Extern oder intern löscht er immer nur den ältesten Datensatz.
        Das heist der nimmt immer die erste ID aus der schleife mit rüber in die nächste und dann bis die schleife zuende is.Ergo vermute ich dass was mit meienr Übergabe im Link nich in ordnung is.
        Mir fällt noch grad auf dass ich garkeinen bezug auf meine Spalte: 'art_id' in der sql-Tabelle article bezug nehme.
        JPformular1.php:
        PHP-Code:
        <?php // Verbindung zur Datenbank und Artikelauflistung
        mysql_connect("localhost""root""")
            or die(
        "Keine Verbindung möglich: " mysql_error());
        mysql_select_db("eshop");

        $result=mysql_query("SELECT * FROM article");

        while (
        $zeile=mysql_fetch_assoc($result))
        {
            echo 
        'Modeltyp:'.$zeile["art_name"].
                 
        'Farbe:'.$zeile["art_color"].
                 
        'Preis:'.$zeile["art_price"].
                 
        '<a href="delete.php?id='.$zeile['id'] . '">Löschen</a>';
        }  
        ?>
        Delete.php:
        PHP-Code:
        <?php 
        mysql_connect
        ("localhost""root""")
            or die(
        "Keine Verbindung möglich: " mysql_error());
        mysql_select_db("eshop");

        if (!isset(
        $_GET['id'])) {
          
        header("Location: JPformular1.php");
          exit;
        }

        $sql "DELETE FROM article WHERE 'id' = " . (int)$_GET['id'] . " LIMIT 1";
        mysql_query($sql) OR die (mysql_error());
        ?>

        Kommentar


        • #34
          das würde aber nicht erklären warum immer das letzte glöscht wird
          Doch. Wenn er aufgrund falscher oder vergessener Iteration in jedem Link die Id des letzten Eintrages stehen hat, würde es das sehr wohl erklären...

          EDIT
          Aber wie ich oben sehen kann bekommt er die aus der DB, dann dürfte meine Vermutung falsch sein.

          Schlagt mich jetzt nicht, aber kann das am LIMIT 1 liegen???
          Ich mein WHERE id= sollte doch ausreichen, wenn die eindeutig ist oder?
          Competence-Center -> Enjoy the Informatrix
          PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

          Kommentar


          • #35
            Doch. Wenn er aufgrund falscher oder vergessener Iteration in jedem Link die Id des letzten Eintrages stehen hat, würde es das sehr wohl erklären...
            also ich würd mal sagen, wenn er einen Datensatz einmal löscht, dann is er weg und dann kann er ihn kein zweites mal löschen ...?

            aber is eh egal ... die id wird ja korrekt übergeben ...

            ähm, kurze frage, hast du schon mal versucht dir den SQL code ausgeben zu lassen?

            post uns den mal !!
            PHP-Code:
            if ( $humans >= ) {
               
            war ();

            Kommentar


            • #36
              Schlagt mich jetzt nicht, aber kann das am LIMIT 1 liegen???
              Ich mein WHERE id= sollte doch ausreichen, wenn die eindeutig ist oder?
              ja sicha stimmt, is leer, weil der letzte älteste Datensatz hat immer die kleinst id und steht somit an oberster stelle und wird als erstel gelöscht!!

              also war meine vermutung vermutlich doch richtig :

              was vl hilfreich wäre, die tabellen struktur, weil ich bin nicht sicher ob der key stimmt also die id ,, wie die heißt oder was des für a fels is ...
              PHP-Code:
              if ( $humans >= ) {
                 
              war ();

              Kommentar


              • #37
                @phil: wie ausgeben? mit <pre>? hab limit entfernt aber jetzt haut er mir alle datensätze mit einmal weg. (nach interner löschfunktion) mit der externen delete php hab ich das redirect noch nicht hinbekommen um damit weiter zu machen und er haut mri da ebenfalls alle mit einmal weg. Ich werds mal noch mit anderen Browser kurz testen weil immer ständig refreshen muss.

                Habs mal ohne externe jetzt probiert aber da verhunzt er es mir auch:
                PHP-Code:
                <?php 
                mysql_connect
                ("localhost""root""")
                    or die(
                "Keine Verbindung möglich: " mysql_error());
                mysql_select_db("eshop");

                if (!isset(
                $_GET['id'])) {

                  exit;
                }

                $sql "DELETE FROM article WHERE 'id' = " . (int)$_GET['id'];
                mysql_query($sql) OR die (mysql_error());
                ?>

                <?php // Verbindung zur Datenbank und Artikelauflistung
                mysql_connect("localhost""root""")
                    or die(
                "Keine Verbindung möglich: " mysql_error());
                mysql_select_db("eshop");



                $result=mysql_query("SELECT * FROM article");

                while (
                $zeile=mysql_fetch_assoc($result))
                {
                    echo 
                'Modeltyp:'.$zeile["art_name"].
                         
                'Farbe:'.$zeile["art_color"].
                         
                'Preis:'.$zeile["art_price"].
                         
                '<a href="JPformular1.php?id='.$zeile['id'] . '">Löschen</a>';
                }  
                ?>

                Kommentar


                • #38
                  @phil: wie ausgeben?
                  z.b. per var_dump($_GET);
                  hab limit entfernt aber jetzt haut er mir alle datensätze mit einmal weg.
                  is klar, wenn die id leer is, bei limit 1 hat er dann nur den letzten glöscht, jz sinds alle .... !!!

                  könntest du uns bitte deine Tabellen Struktur posten !!!

                  thx
                  PHP-Code:
                  if ( $humans >= ) {
                     
                  war ();

                  Kommentar


                  • #39
                    Schlagt mich jetzt nicht, aber kann das am LIMIT 1 liegen???
                    Ich mein WHERE id= sollte doch ausreichen, wenn die eindeutig ist oder?
                    Bin irgendwie raus aus dem Thema! Was soll am LIMIT liegen?

                    Natürlich reicht die Bedingung für den Löschvorgang selbst aus, wenn die ID eindeutig ist. Durch das LIMIT wird die Abfrage allerdings weiter optimiert und ist vergleichsweise schneller (nach meinen Erfahrungen).

                    Gruß
                    [URL]http://hallophp.de[/URL]

                    Kommentar


                    • #40
                      TblStrk.: art_id art_cat_id art_name art_text art_pic art_sex art_size art_color art_price art_active_flag

                      vom theoretischen ansatz ist es doch egal ob er die ID aus der sql-table nimmt oder eine ID aufzählen lässt oder? Solang eine feste vergeben wurde is diese doch gültig. da aber in meinem code er sie nicht hochzählt sondern

                      Kommentar


                      • #41
                        Und wo ist die Spalte id?
                        Code:
                        $zeile['id']
                        So langsam solltest du mal selber dein Hirn einschalten.
                        [URL]http://hallophp.de[/URL]

                        Kommentar


                        • #42
                          aua !!!
                          sehr übersichtlich^^ *sarkasmus aus*

                          also ich würd mal des
                          PHP-Code:
                          '<a href="JPformular1.php?id='.$zeile['id'] . '">Löschen</a>'
                          durch
                          PHP-Code:
                          '<a href="JPformular1.php?id='.$zeile['art_id'] . '">Löschen</a>'
                          ersetzten
                          und
                          PHP-Code:
                          $sql "DELETE FROM article WHERE 'id' = " . (int)$_GET['id']; 
                          durch
                          PHP-Code:
                          $sql "DELETE FROM article WHERE 'art_id' = " . (int)$_GET['id']; 
                          ersetzetn ^^

                          EDIT:
                          So langsam solltest du mal selber dein Hirn einschalten.
                          net langsam, sondern schnell !!!
                          ich bin ja davon ausgegeangen, das er das angepasst hat !!!
                          PHP-Code:
                          if ( $humans >= ) {
                             
                          war ();

                          Kommentar


                          • #43
                            der zeigt mir grad nurnoch nen leeres div an - hab grad glaub irgendwas kaputtgedoktort mom pls
                            so isses grad alles innerhalb einer Datei:
                            PHP-Code:
                            <?php 
                            mysql_connect
                            ("localhost""root""")
                                or die(
                            "Keine Verbindung möglich: " mysql_error());
                            mysql_select_db("eshop");

                            if (!isset(
                            $_GET['id'])) {

                              exit;
                            }

                            $sql "DELETE FROM article WHERE 'art_id' = " . (int)$_GET['id'];
                            mysql_query($sql) OR die (mysql_error());
                            ?>

                            <?php // Verbindung zur Datenbank und Artikelauflistung
                            mysql_connect("localhost""root""")
                                or die(
                            "Keine Verbindung möglich: " mysql_error());
                            mysql_select_db("eshop");



                            $result=mysql_query("SELECT * FROM article");

                            while (
                            $zeile=mysql_fetch_assoc($result))
                            {
                                echo 
                            'Modeltyp:'.$zeile["art_name"].
                                     
                            'Farbe:'.$zeile["art_color"].
                                     
                            'Preis:'.$zeile["art_price"].
                                     
                            '<a href="JPformular1.php?id='.$zeile['art_id'] . '">Löschen</a>';
                            }  
                            ?>

                            Kommentar


                            • #44
                              Und?

                              Code:
                              <?php 
                              error_reporting(E_ALL | E_STRICT);
                              Und jetzt werden bitte die Grundlagen gelernt und dann kommst du "morgen" nochmal vorbei.

                              http://www.php.de/php-einsteiger/489...nsammlung.html
                              [URL]http://hallophp.de[/URL]

                              Kommentar


                              • #45
                                Und jetzt werden bitte die Grundlagen gelernt und dann kommst du morgen nochmal vorbei.
                                oh ja, weil des is ja echt schlimm !!!
                                ich hab so des gfühl wir haben an dem Script mehr gearbeitet als du selba !!!
                                PHP-Code:
                                if ( $humans >= ) {
                                   
                                war ();

                                Kommentar

                                Lädt...
                                X