Mittels Checkbox zu löschende Entrys wählen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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 |


    Comment


    • #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

      Comment


      • #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 |


        Comment


        • #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

          Comment


          • #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 |


            Comment


            • #7
              ID Ist

              - INT(14)
              - AUTO_INCREMENT
              -UNIQUE

              cYa duRoX

              Comment


              • #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 |


                Comment


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

                  Comment


                  • #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 |


                    Comment


                    • #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

                      Comment


                      • #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 |


                        Comment

                        Working...
                        X