ohneplan: Löschen von mehreren Datensätzen

Hallo

Wenn ich über ein Formular mehrere Datensätze per Checkbox anwähle und ich auf OK klicke. Dann sollen diese markierten Datensätze gelöscht werden.

Bisher habe ich es geschafft, einzelne zu löschen, wenn ich aber mehrere anwähle dann nimmt er nur den ersten und löscht ihn.
Die anderen ignoriert er.

Ich denk mit einer while schleife ginge das.

Aber wie genau

  1. Hallo

    Wenn ich über ein Formular mehrere Datensätze per Checkbox anwähle und ich auf OK klicke. Dann sollen diese markierten Datensätze gelöscht werden.
    Ich denk mit einer while schleife ginge das.

    Ja, mit folgender Logik (so was ähnliches wie Pseudocode):

    Solange Datensatz ist in der Liste der markierten Datensätze enthalten
        Lösche Datensatz
    Ende Solange

    Freundliche Grüße

    Vinzenz

    1. Also hier genau beschrieben:

      auf einer Seite werden Datensätze aus der sql Datenbank ausgelesen.

      Diese rzeigt er in einer Tabelle an, neben jedem Datensatz ist eine Checkbox, die den Wert der ID des Datensatzes hat. Der Name der checkbox ist ID.

      Wenn ich jetzt 2 Datensätze angeklickt habe, dann soll er auch beide Datensätze löschen, also wenn ich ID 1 und 2 angewählt habe, soll er auch den Datensatz mit der ID 1 und der ID 2 löschen.

      Bisher löscht es immer nur den 1. !

      Ich weis nicht wie ich die schleife machen soll.

      Kann mir da jemand helfen?

      Danke

      1. auf einer Seite werden Datensätze aus der sql Datenbank ausgelesen.

        Ist das jetzt ein SQL-Problem?

        Falls ja, dann komme doch mit einem SQL-Statement der Art DELETE und fülle die WHERE-Klausel ganz gemütlich mit den zu löschenden IDs.

        1. ja aber wie setze ich die schleife, dass er alle aktivierten checkboxen löscht, bisher macht er das nur mit dem ersten ausgewählten.
          und nicht alle

          1. ja aber wie setze ich die schleife, dass er alle aktivierten checkboxen löscht, bisher macht er das nur mit dem ersten ausgewählten.
            und nicht alle

            Wie kriegst Du denn die Checkboxen in PHP rein? Haben die vielleicht unterschiedliche Namen der Art "Chkbox1" bis "Chkboxn"?

            1. die Checkboxen haben den gleichen Namen nur der Wert ändert sich

              1. Hallo,

                die Checkboxen haben den gleichen Namen nur der Wert ändert sich

                PHP-FAQ: Wie kann man Checkboxen verarbeiten?

                Um die Daten dann zu löschen brauchst du übrigends nicht mehrere DELETE-Querys absetzten, einer reicht völlig:
                 DELETE FROM tabelle WHERE id IN(<idsausformular>)
                <idsausformular> sind dann die IDs der ausgewählten Checkboxen (mit , getrennt, siehe Doku)

                Grüße aus Nürnberg
                Tobias

                --
                TOP7: Dinge, die du beim Papstbesuch vermisst hast
                Selfcode: sh:( fo:) ch:? rl:| br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:) ls:[ js:|
                1. http://www.php-faq.de/q/q-formular-checkbox.html

                  Wobei "Fall zwei" kaum zu empfehlen ist.

                  1. Hallo Hamster,

                    http://www.php-faq.de/q/q-formular-checkbox.html
                    Wobei "Fall zwei" kaum zu empfehlen ist.

                    Warum nicht?

                    Grüße aus Nürnberg
                    Tobias

                    1. http://www.php-faq.de/q/q-formular-checkbox.html
                      Wobei "Fall zwei" kaum zu empfehlen ist.
                      Warum nicht?

                      Reine Ideologie.   :)

                      Wir hätten letztlich Checkboxen, deren Namen durch die Reihenfolge bestimmt sind. Das ist boese.

                      Vergleiche auch INSERTs bei denen nur die Datenwerte angegeben werden und die Datenfeldnamen nicht.

                      1. Nein,
                        böse wäre es sich darauf zu verlassen das die Boxen irgend einen Namen haben. Aber wenn man - zum Beispiel bei der erwähnten Datenbankabfrage - einfach die werte per implode() zusammen bastelt ist es ziemlich wurscht, welchen Namen die Werte nun haben...

                        Marc

                        1. böse wäre es sich darauf zu verlassen das die Boxen irgend einen Namen haben.

                          Namen wären natürlich noch besser, es sind ja Checkboxen und keine Radiobuttons.

                  2. Wieso nicht, denn so funktioniert es !

                    1. Wieso nicht, denn so funktioniert es !

                      Das ist m.E. nicht einmal die Minimalanforderung an Software.

  2. Wenn ich über ein Formular mehrere Datensätze per Checkbox anwähle und ich auf OK klicke. Dann sollen diese markierten Datensätze gelöscht werden.

    Ist das jetzt ein JavaScript-Problem?

    Sofern das o.g. Formular nicht dynamisch, also bspw. per PHP, generiert worden ist, kannst Du die betreffenden Datensätze doch auch problemlos "ganz doof" ohne "Schleife" löschen.