Ankündigung

Einklappen
Keine Ankündigung bisher.

Checkbox -> mehrere Einträge löschen (SQL)

Einklappen

Neue Werbung 2019

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

  • Checkbox -> mehrere Einträge löschen (SQL)

    Hallo zusammen,
    ich stehe vor einem Problem:
    Ich würde gerne meine Einträge auf meiner Datenbank löschen, genauergesagt sollen nur die gelöscht werden, die per Checkbox angewählt sind. Ich habe auch schon deswegen gegoogelt, jedoch sehr viele Lösungsvorschläge gesehen, aber nie die richtigen.

    Hier ist mal eine Checkbox, wie sie aufgebaut ist. Diese wird immer wieder wiederholt, bis alle Datensätze dargestellt sind.

    PHP-Code:
     echo "<input type=\"checkbox\" name=\"allchecked\" onclick=\"ALLChoice(document.checkboxall.allchecked, $i)\">"
    Das ALLChoice ist nur, dass wenn eine bestimmte Checkbox angeklickt wird, alle anderen auch angeklickt werden.

    Mein Lösungsvorschlag wäre, bei dem ich aber Probleme mit dem Umsetzen habe, dass ich es, wie im Internet beschrieben, mit explode(",", $_POST['allchecked']) mache, jedoch habe ich das Problem, dass das nicht funktioniert. Besonders weil ich mit der der Funktion ALLChoice keine Chance habe die Id irgendwo abzuspeichern.

    Wüsste jemand Rat?

    Grüße


  • #2
    name="delete[]"

    und dann fängste alle checkboxen mit $_POST["delete"]; ab
    ACHTUNG!!! SIGNATUR!!!
    PHP-Code:
    var_dump($gehirn); exit; 
    0 ??? WTF ? nervtag.de | freutag.net | friendmetr.com

    Kommentar


    • #3
      Was genau ist Deine Frage?
      --

      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


      --

      Kommentar


      • #4
        Hallo zusammen,
        @MaiKaY: Das habe ich auch schon ausprobiert, jedoch gibt es dann wieder Probleme mit dem Aktivieren aller Checkboxen

        @nikosch: Ich wollte fragen, ob jemand wüsste, wie man das bewerkstelligen kann (nur bei "aktivierte" Checkboxen deren Einträge in SQL löschen). Das Prinzip kann man auch bei phpBB Foren->Private Nachrichten->Checkboxen sehen. Dabei kann man nur die Einträge löschen, die auch per Checkbox aktiviert worden sind.

        Ich hoffe es ist nun klarer geworden

        Grüße

        Kommentar


        • #5
          jedoch gibt es dann wieder Probleme mit dem Aktivieren aller Checkboxen
          Nicht wirklich. Denn getElementsByName kann auch mit ('name[]') umgehen. Ganz zu schweigen von den Möglichkeiten von jQuery.
          --

          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


          --

          Kommentar


          • #6
            Zitat von Minimi Beitrag anzeigen
            Hallo zusammen,
            @MaiKaY: Das habe ich auch schon ausprobiert, jedoch gibt es dann wieder Probleme mit dem Aktivieren aller Checkboxen
            Versteh ich nicht

            Checkbox1 <input type="checkbox" name="delete[]" value="eine id" />
            Checkbox2 <input type="checkbox" name="delete[]" value="eine id" />
            Checkbox3 <input type="checkbox" name="delete[]" value="eine id" />

            Checkbox 1&3 wurden "aktiviert" also sind auch nur diese beiden in deinem $_POST["delete"]-Array
            ACHTUNG!!! SIGNATUR!!!
            PHP-Code:
            var_dump($gehirn); exit; 
            0 ??? WTF ? nervtag.de | freutag.net | friendmetr.com

            Kommentar


            • #7
              Es geht um eine select-all-checkboxes-JS-Funktionalität, die i.A. über das name-Attribut arbeitet. Lösung siehe oben.
              --

              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


              --

              Kommentar


              • #8
                Dann würde die "Ober-Checkbox" so aussehen:
                Code:
                <input onclick="ALLChoice(document.form1.allchecked[], 0)" name="allchecked[]" type="checkbox">
                und die unter:
                Code:
                echo "<input type=\"checkbox\" name=\"allchecked[]\" onclick=\"ALLChoice(document.checkboxall.allchecked[], $i)\">";
                Jedoch funktioniert es danach nicht mehr...

                Grüße

                PS: Mal noch der Javascript Code

                Code:
                function ALLChoice(field, i)
                            {
                              var checkcount = 0;
                              var loop;
                
                              for (loop = 1; loop < field.length; loop++)
                              {
                                if (i == 0)
                                {
                                  field[loop].checked = field[0].checked;
                                }
                                else
                                {
                                  if (field[loop].checked)
                                  {
                                    checkcount++;
                                  }
                                  field[0].checked = (checkcount == field.length-1);
                                }
                              }
                            }

                Kommentar


                • #9
                  Zitat von Minimi Beitrag anzeigen
                  Jedoch funktioniert es danach nicht mehr...
                  „Funzt nich“ ist keine brauchbare Problembeschreibung, sondern Mist.

                  Schau in JavaScript-Fehlerkonsole eines vernünftigen Testbrowsers wie bspw. Firefox, der wird dir dann schon sagen, was du falsch gemacht hast.

                  jedoch gibt es dann wieder Probleme mit dem Aktivieren aller Checkboxen
                  Die gibt es höchstens deshalb, weil du das Script dazu nur von irgendwo kopiert hast, aber nicht verstanden hast, wie es arbeitet. Hättest du das, dann sollte es kein grosses Problem sein, es entsprechend umzuschreiben, so dass es auch mit den geänderten Feldnamen klar kommt.

                  Also beschäftige dich bitte ein bisschen (mehr) mit JavaScript-Grundlagen.

                  Kommentar

                  Lädt...
                  X