Mittels Checkbox zu löschende Entrys wählen

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

  • Mittels Checkbox zu löschende Entrys wählen

    Hi!

    Ich habe folgendes Prob: Ich habe mir mittels

    PHP-Code:
    $thequery "Select * FROM tabelle order by date DESC";
    $ergebnis  mysql_query($thequery$conn);
    while (
    $zeile mysql_fetch_array($ergebnis))
    {
    echo 
    $zeile[link];
    echo 
    "<br>";

    eine Liste von Links erstellt, die in der Datenbank stehen. Nun soll hinter jedem Link ne Checkbox erscheinen. Man soll mehere von diesen Anclicken können, und die betreffenden Links sollen aus der DB gelöscht werden. Ich habe mich schon belesen, und habe erfahren dass das irgendwie mit FOR Schleifen geht. Bekomme es aber einfach nicht hin...

    Hier mein Ansatz:

    SQL Part:

    PHP-Code:
    $thequery "DELETE FROM tabelle where id = '$checkbox_id'";
    $ergebnis  mysql_query($thequery$conn); 
    Checkbox Part in der While Schleife:

    PHP-Code:
    <FORM ACTION="<?echo $PHP_SELF;?>" METHOD=POST>
    $thequery = "Select * FROM wwwnews_data order by date DESC";
    $ergebnis  = mysql_query($thequery, $serverid);
    while ( $zeile = mysql_fetch_array($ergebnis))
    {
    echo $zeile[link];
    echo "<input type=\"checkbox\" name=\"cbox[$zeile[id]]\">";
    }
    ?>
    <br>
    <br>
    <input type="submit" style='font-size:10px' value="Delete">
    Ihr seht, die Probs häufen sich, ich komme nicht weiter. Hat jemand vielleicht ein paar Tips wie ich das Löschen meherer Einträge mit Checkboxen lösen kann?

    Danke für jede Antwort!

    cYa DuRoX

  • #2
    also in 'cbox' stehen nach dem post des forumlars alle daten drin, die du brauchst. nun musst du diese nur noch entfernen.

    dein vorschlag wird so nicht gehen.
    PHP-Code:
    $thequery "DELETE FROM tabelle where id = '$checkbox_id'";
    $ergebnis  mysql_query($thequery$conn); 
    mache es mal so. (ungetestet, aber in der theorie machbar)

    PHP-Code:
    $removedata implode(","$_POST['cbox']);
    $sql "DELETE FROM tabelle where id IN (".$removedata.")";
    echo 
    $sql// nur zum test.
    $ergebnis  mysql_query($thequery$conn); 
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Am Anfang kommt:

      Warning: Bad arguments to implode() in datei.php on line 9
      DELETE FROM tabelle where id IN ()
      Logisch, da noch keine Variable drin. müsste man irgendwie mit IF machen, aber mit welcher Abfrage Variable?

      Dann kommt (nach Checkbox auswahl):

      DELETE FROM wwwnews_data where id IN (on)
      Kann es sein, dass du den falschen Wert inplodet hast? Und wie soll der Code funzen wenn mehere Checkboxes gleichzeitig ausgewählt werden?

      cYa DuRoX

      Kommentar


      • #4
        Original geschrieben von DuRoX
        Kann es sein, dass du den falschen Wert inplodet hast? Und wie soll der Code funzen wenn mehere Checkboxes gleichzeitig ausgewählt werden
        nein. aber ich habe noch einen fehler in deinem code übersehen....

        mache mal aus
        PHP-Code:
        echo "<input type=\"checkbox\" name=\"cbox[$zeile[id]]\">"
        das hier

        PHP-Code:
        echo "<input type=\"checkbox\" name=\"cbox[]\" value=\"".$zeile[id]."\">"
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Jetzt kommen die ID's:

          PHP-Code:
          DELETE FROM wwwnews_data where id IN (2,1
          Aber: Es passiert nix! mysql_error gibt auch nichts zurück....

          cYa DuRoX

          Kommentar


          • #6
            ist dein id-feld vom typ INT oder VARCHAR ? eine id sollte immer INT sein.

            BTW.
            *VERSCHIEB* nach sql
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              ID Ist

              - INT(14)
              - AUTO_INCREMENT
              -UNIQUE

              cYa duRoX

              Kommentar


              • #8
                dann sollte es auch funktionieren.

                mache mal

                PHP-Code:
                echo "<pre>";
                print_r($_POST['cbox']);
                echo 
                "<pre>"
                ausgabe?
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  PHP-Code:
                  Array
                  (
                      [
                  0] => 2
                  )
                  DELETE FROM wwwnews_data where id IN (2
                  Ausgabe

                  Kommentar


                  • #10
                    und wenn du weitere felder anwählst?

                    hast du diese query auch mal in phpmyadmin getestet? hast du auch geprüft, ob die datensätze noch da sind. normalerweise sollten sie gelöscht werden.
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      Hey Abraxax!

                      Es funzt jetzt, war ein Variablen Prob: ich habe deinen Code Blind abgepastet, ohne zu bedenken dass meine Query Variablen anders deklaiert sind.

                      VIELEN, VIELEN DANK FÜR DEINE KOMPETENTE HILFE

                      cYa DuRoX

                      Kommentar


                      • #12
                        immer wieder gern.

                        ich habe mich auch nur auf deinen beispiel code hier verlassen.... :-p
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar

                        Lädt...
                        X