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

  • [Erledigt] Löschfunktion einer Datensatzauflistung (einzeln)

    Ich häng am Problem, dass ich jeden Datensatz der mir aufgelistet wird, per button/link löschen möchte. Nur mein Code funktioniert nich weil ich einfach nich verstehe woher der button seine ID herbekommt und wie ich dann OnSubmit den löschbefehl ausführen kann.
    Da brauch ich wieder nen kleinen denkanstoß. Überall gibs Tutorials und hinweise zur nutzung von DELETE FROM * WHERE id=$ID usw. aber kein vernünftiges beispiel wo in meiner auflistung ein simpler Button erscheint mit der ID des jeweilegen Datensatzes und dem code womit ich die Löschfunktion auslöse. "art_id" heist meine ID-Spalte in meiner sql-Tabelle.
    PHP-Code:
    <?php // Verbindung zur Datenbank
    mysql_connect("localhost""root""")
        or die(
    "Keine Verbindung möglich: " mysql_error());
    mysql_select_db("eshop");

    // Artikelabfrage aus der Datenbank - Auflistung dieser
    $result=mysql_query("SELECT * FROM article"); 
    while 
    (
    $zeile=mysql_fetch_assoc($result))
        {
        echo 
    '<br>Modeltyp:&nbsp;'.
        
    $zeile["art_name"].'Farbe:&nbsp;'.
        
    $zeile["art_color"].'Preis:&nbsp;'.
        
    $zeile["art_price"].
        <
    input type='submit' name='loeschen[]' value='".$iddesdatensatzes."'>
                  foreach(
    $loeschen as $art_id)
                  { 

                       
    $sql2 "DELETE FROM article WHERE art_id = $iddesdatensatzes ";
                       
    $result mysql_query($sql2) OR die(mysql_error());
                  }
        ;
        }
    ?>


  • #2
    Dafür brauchst du gar kein Formular. Du liest ja irgendwo die Einträge aus, dort machst du einfach nen Link "delete.php?id=<id_aus_der_db>". Wenn du drauf klickst kommste eben auf die delete.php wo dann per $_GET['id'] die ID geholt wird und diese kannst du dann für den DELETE Query verwenden.

    Kommentar


    • #3
      Zitat von Flor1an Beitrag anzeigen
      Dafür brauchst du gar kein Formular. Du liest ja irgendwo die Einträge aus, dort machst du einfach nen Link "delete.php?id=<id_aus_der_db>". Wenn du drauf klickst kommste eben auf die delete.php wo dann per $_GET['id'] die ID geholt wird und diese kannst du dann für den DELETE Query verwenden.
      Wow, hört sich einfach an aber ich weis trotzdem nich wo was übergeben wird.
      Also ich hab jetzt eine delete.php erzeugt mit folgenden inhalt oder lieg ich jetzt falsch?:
      PHP-Code:
      <?php
      mysql_connect
      ("localhost""root""")
          or die(
      "Keine Verbindung möglich: " mysql_error());
      mysql_select_db("eshop");

      if (
      $conn == TRUE)
      {
      echo 
      "Verbindung hergestellt.";
      }

      echo 
      $id;

      $sql="DELETE FROM article WHERE art_id=$id";
      if(
      mysql_query($sql,$conn))
      echo 
      "Gelöscht!";
      else
      echo 
      "Nicht gelöscht!";
      ?>
      und meine Hauptseite nun so:
      PHP-Code:
      <?php // Verbindung zur Datenbank und Artikelauflistung
      mysql_connect("localhost""root""")
          or die(
      "Keine Verbindung möglich: " mysql_error());
      mysql_select_db("eshop");


      $check '<a href="delete.php?id=<'$ID'>">Loeschen</a>';

      $result=mysql_query("SELECT * FROM article"); 
      while 
      (
      $zeile=mysql_fetch_assoc($result))
          {
          echo 
      '<br>&nbsp;Modeltyp:&nbsp;'.$zeile["art_name"].'&nbsp;Farbe:&nbsp;'.$zeile["art_color"].'&nbsp;Preis:&nbsp;'.$zeile["art_price"].$check;
          }
      ?>
      er sagt mir nur:
      Warning: mysql_query() expects parameter 2 to be resource, null given in C:\xampp\htdocs\delete.php on line 14
      Nicht gelöscht!

      Kommentar


      • #4
        Bitte schau dir die Grundlagen an wie man Parameter über die URL übergibt. Das müssen wir dir echt nicht nochmal vorreiten!

        Hinweis:
        [!] Bitte lies dir diesen Thread zu den Grundlagen von PHP durch. Die Grundlagen sind essentiell für das Arbeiten mit PHP, MySQL, HTML, JavaScript oder CSS!

        Kommentar


        • #5
          Ja ich weis wie nervig das is wenn ständig die selbe scheiss Frage gestellt wird und die kacknoobs es nich inne Reihe kriegen. Ich bin hier im Anfängerforum und will kein SQL-Programmierer werden also auch kein Konkurent der euch eure Arbeit klaut sondern will nur dieses dämliche Projekt mal zuende bringen und nem Leihen einfach erklären was ich gemacht habe. Dazu muss ichs selber ersmal verstehen. Aber in fast jedem Thread im Netz und hier im Board wird immer gleich auf Grundlagengedönst verwiesen, welches ich mir jetzt zum xten mal reingezogen hab und trotzdem kein bezug zu meinem problem festellen konnte. Ich weis wie ich was aus ner DB lösche, nur wenns verschachtelt wird hört mein strukturelles denken auf, weil ich weit andere Dinge im Kopf habe als Programmierung. Daher nur die Bitte das mal zu erklären und was ich wo zu beachten hab.
          Wenn ich das alles könnte würd ich hier son thread nich aufmachen und lieber paar Enten füttern gehen!

          Kommentar


          • #6
            Mir geht es nicht darum dass du mir irgend einen Job wegnehmen könntest. Aber hier im Forum gehts darum Leuten zu helfen die PHP erlernen möchten. Wir sind kein kostenloses Supportforum um irgendwelche Projekte fertig zu bringen.

            Von daher ist meine Einstellung: Hilfe zur Selbsthilfe!

            Parameterübergabe sind die absoluten Grundlagen im Web, ohne die Kenntnisse wie Parameter übergeben werden macht dein Vorhaben absolut keinen Sinn! Und deshalb solltest du einfach dir die Zeit nehmen und diese Grundlagen entsprechend zu erlernen! Ansonsten kommt morgen die nächste Frage wie du etwas anderes übergibst.

            Kommentar


            • #7
              Hi,

              hier noch ein Link zum Thema: Daten via URL .

              Gruß
              http://hallophp.de

              Kommentar


              • #8
                ähm, um zum thema zurückzukehren:

                schau dir mal $_GET[] an, was des is und was da drin steht ...!!!
                PHP-Code:
                if ( $humans >= ) {
                   
                war ();

                Kommentar


                • #9
                  @ Florian
                  Ich bin ein riesen Freund von Tutorials mit "learning by doing" nur ich find ständig Grundlagen die mir zu simpel sind und mir nicht alles erklären. Entsprechende HowTo´s fehlen gänzlich und zeigen mir ständig "Hello world!"
                  Ausserdem bin ich nicht der einzige der das fragt aber wirklich alle threads dazu sind unvollständig oder enden mit "habs hinbekommen aber ich sag euch nicht wie" so dass ich mich 1-2 stunden durch nen code durchlese und dann aufeinmal was fehlt oder total falsch is bzw schon garnicht mehr funktioniert und ich SQL-Injections vermeiden soll usw.

                  Kannst mir nicht vlt. paar links posten wo ich genau das finde und nich ne grundlagenübersicht über alles wo ich raten muss was ich brauche? Ganz lieben großen Dank!

                  Kommentar


                  • #10
                    Kannst mir nicht vlt. paar links posten wo ich genau das finde und nich ne grundlagenübersicht über alles wo ich raten muss was ich brauche? Ganz lieben großen Dank!
                    nikosch hat dir bereits einen geschickt ...
                    hier noch ein Link zum Thema: Daten via URL .
                    PHP-Code:
                    if ( $humans >= ) {
                       
                    war ();

                    Kommentar


                    • #11
                      Zitat von PhillKill12 Beitrag anzeigen
                      nikosch hat dir bereits einen geschickt ...
                      Lol!
                      http://hallophp.de

                      Kommentar


                      • #12
                        Asipak = nikosch?

                        Edit: Sorry es müsst heißen Asipak == nikosch?

                        Kommentar


                        • #13
                          Edit: Sorry es müsst heißen Asipak == nikosch?
                          lol, sry !!!
                          PHP-Code:
                          if ( $humans >= ) {
                             
                          war ();

                          Kommentar


                          • #14
                            Danke Nikosch aka asipak für den link - jetzt weis ich wie ich direkte IDs inner URL verarbeite. o.O
                            das hat aber mit mein Problem immernoch nichts zu tun sry.

                            Da ich meine Datensätze hiermit aufrufe:
                            PHP-Code:
                            $check '<a href="delete.php?id='ID'">Loeschen</a>';
                            $result=mysql_query("SELECT * FROM article"); 
                            while 
                            (
                            $zeile=mysql_fetch_assoc($result))
                                {
                                echo 
                            '<br>&nbsp;Modeltyp:&nbsp;'.$zeile["art_name"].'&nbsp;Farbe:&nbsp;'.$zeile["art_color"].'&nbsp;Preis:&nbsp;'.$zeile["art_price"].$check;
                                } 
                            D.h. ich muss meinem Link die ID des jeweiligen Datensatzes übermitteln. In dem Fall über $_GET. Da stellt sich gleich die Frage ob ich nich gleich alles in den Link schreibe oder eine Funktion erstelle oder eine externe Datei erstelle(delete.php) Ich weis leider nicht was hier sinnvoll is weilich nicht die erfahrung habe.

                            Kommentar


                            • #15
                              Verstehe das Problem nicht.
                              D.h. ich muss meinem Link die ID des jeweiligen Datensatzes übermitteln.
                              Wieso tust du das nicht einfach?
                              http://hallophp.de

                              Kommentar

                              Lädt...
                              X