DELETE Probleme

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

  • DELETE Probleme

    Also ich hab lokal nen wampp 2 laufen. Sind auch noch die Standardkonfig.

    Ich arbeite zur Zeit an nem Newsscript bei dem ich die News auch wieder löschen will.

    Es soll so von statten gehen das ich per while schleife alle Überschriften aufliste und hinter jeder übeschrift eine checkbox ist wo die id drin steht.

    Wenn nun die Checkbox aktiviert ist soll es auf buttonclick die jeweiligen ausgewählten News aus der da tenbank löschen. ( jap is mit mysql gemacht )

    Jetzt wollt ich hier mal fragen wie das funktioniert weil mir bisher kein Tutorial und keine Documentation darüber aufschluss gegeben hat.

    MfG Schnubbi
    Wer mit den Katzen spielt, muss ihr Kratzen vertragen.

  • #2
    für die checkboxen nimmst du immer name="cb[]" und als value nimmst du die id der news.

    in der nachfolgenden seite hast du dann ein array $_POST['cb'] in dem alle id enthalten sind, welche gelöscht werden sollen.
    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
      Hab das mal eingebaut aber irgendwie werden die ids nicht an den $_POST[cb] übergeben.
      hab sie jetzt nochmal per echo ausgelesen und sie haben den inhalt array ... also nix

      Ich post ma den code vl. ist das einfacher.


      PHP-Code:
      if ($switch == 'nloesch'){
      $abfrage = @ mysql_query("select * FROM  schnubb_news ORDER BY id DESC")or die("Konnte den Select Befehl nicht ausführen.");
      ?>

      <br><br><center><b><u><font color="#000000" size="4" type="tahoma">News L&oumlschen</b></u></font>
      <br></center>
      <br>
      <table width="100%">
      <tr>
      <td><b><u><font color="#000000" size="2" type="tahoma"><center>Überschrift</center></font></td>
      <td> <b><u><font color="#000000" size="2" type="tahoma"><center>L&oumlschen</center></font></td>
      </tr>
      <form action="admin.php?action=nloesch" method="POST">
      <?
      while($eintrag = mysql_fetch_object($abfrage)) {
      echo '<tr>';
      echo '<td>'.$eintrag->ueberschrift.'</td>';
      echo '<td><center><input type="checkbox" name="cb[]" value="'.$eintrag->id.'"></center></td>';

      }
      @mysql_free_result($abfrage);



      ?>
      <tr>
              <td width="190">&nbsp;</td>
              <td width="310" align="center"><br><br>
                <input type="submit" name="submit" value="L&ouml;schen" style="border:thin dotted #000000">
              </td>
          </tr>
      </tr>
      </table>
      <br><br> <center>
      <font color="#000000" size="2" type="tahoma">&copy; by <a href="http://www.schnubbi-web.de"><font color="#000000" size="2" type="tahoma">Schnubbi</a></font</font></center>
      <br></center>

      <?
      $sql = "DELETE schnubb_news where $_POST['cb']";
      @ mysql_query($sql) ;
      }
      ?>
      Wer mit den Katzen spielt, muss ihr Kratzen vertragen.

      Kommentar


      • #4
        probiers mal so:

        <?php

        if(isset($_POST['cb'])) {

        $id = $_POST['cb'];

        $sql = "DELETE schnubb_news where $_POST['cb']";
        @ mysql_query($sql) ;


        }
        keine Ahnung obs funktioniert...aber meiner meinung nach sollte es funktionieren
        ~~Never drive faster than your Guardian Angel can fly~~

        Kommentar


        • #5
          Original geschrieben von Elotrohombre
          keine Ahnung obs funktioniert...aber meiner meinung nach sollte es funktionieren
          tut es aber nicht. schaue dir doch mal deinen syntax an.
          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


          • #6
            ich sollte nachdenken bevor ich sachen schreibe... ich meins natürlich so:

            <?php

            if(isset($_POST['cb'])) {

            $id = $_POST['cb'];

            $sql = "DELETE schnubb_news where id = ''$id' LIMIT 1";
            @ mysql_query($sql) ;


            }
            sry
            ~~Never drive faster than your Guardian Angel can fly~~

            Kommentar


            • #7
              nein erzielt keine wirkung.
              kann es sein das die übergabe durch POST nicht richtig geht ?

              Also das die ID erst garnicht richtig ausgelesen wird ?.

              also das in der zeile was nicht hinhaut ?

              PHP-Code:
              echo '<td><center><input type="checkbox" name="cb[]" value="'.$eintrag->id.'"></center></td>'
              Wer mit den Katzen spielt, muss ihr Kratzen vertragen.

              Kommentar


              • #8
                Das kannst du ganz leicht überprüfen indem du ihm sagst:

                echo $_POST['cb']';
                ~~Never drive faster than your Guardian Angel can fly~~

                Kommentar


                • #9
                  @schnubbi

                  ungetestet


                  PHP-Code:
                  <?php


                      
                  if (isset($_POST['action'], $_POST['cb']) && $_POST['action']=='nloesch' && count($_POST['cb'])>0
                      {
                          
                  $res mysql_query('DELETE * FROM schnubb_news
                                              WHERE id IN ('
                  .implode(','$_POST['cb']).')')
                                             or die(
                  mysql_error());

                      }
                  ?>

                      <br><br><center><b><u><font color="#000000" size="4" type="tahoma">News L&oumlschen</b></u></font>
                      <br></center>
                      <br>    
                      <table width="100%">
                      <tr>
                      <td><b><u><font color="#000000" size="2" type="tahoma"><center>Überschrift</center></font></td>
                      <td> <b><u><font color="#000000" size="2" type="tahoma"><center>L&oumlschen</center></font></td>
                      </tr>
                      <form action="admin.php" method="POST">
                      <input type="hidden" name="action" value="nloesch">
                      
                  <?php
                          
                      $abfrage 
                  mysql_query("SELECT * FROM schnubb_news
                                              ORDER BY id DESC"
                  ) or die(mysql_error());
                      while( 
                  $eintrag mysql_fetch_assoc($abfrage))
                      {
                          echo 
                  '<tr>';
                          echo 
                  '<td>'.$eintrag['ueberschrift'].'</td>';
                          echo 
                  '<td><center><input type="checkbox" name="cb[]" ';
                          echo 
                  'value="'.$eintrag['id'].'"></center></td>';
                      }
                      
                  ?>
                      <tr>
                          <td width="190">&nbsp;</td>
                          <td width="310" align="center"><br><br>
                              <input type="submit" name="submit" value="L&ouml;schen" style="border:thin dotted #000000">
                          </td>
                      </tr>
                      </tr>
                      </table>
                      <br><br> <center>
                      <font color="#000000" size="2" type="tahoma">&copy; by <a href="http://www.schnubbi-web.de"><font
                       color="#000000" size="2" type="tahoma">Schnubbi</a></font</font></center>
                      <br></center>
                  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


                  • #10
                    Original geschrieben von Elotrohombre
                    ich sollte nachdenken bevor ich sachen schreibe... ich meins natürlich so:
                    auch käse. $_POST['cb'] ist ein array.
                    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
                      Stimmt...und ich gebe auf...ich glaub i kenn mi selba ned gut genug aus um irgendwelche tipps zu geben
                      ich überlasse hiermit das Feld den routinierteren und intelligenteren.
                      Aber versucht hab ichs immerhin
                      ~~Never drive faster than your Guardian Angel can fly~~

                      Kommentar


                      • #12
                        Original geschrieben von Elotrohombre
                        echo $_POST['cb']';
                        auch käse. wenn dann schon eher.
                        PHP-Code:
                        echo '<pre>';
                        print_r($_POST['cb']); 
                        echo 
                        '</pre>'

                        Original geschrieben von Elotrohombre
                        Aber versucht hab ichs immerhin
                        das ist wahr.

                        aber sinnvoll helfen und versuchen ist zu den versuchen von dir noch weit entfernt. das aber nur als tipp am rand. (nicht böse gemeint)
                        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


                        • #13
                          Juhu einen Schritt weiter

                          Es kommt ne fehlermeldung

                          PHP-Code:
                          You have an error in your SQL syntaxCheck the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM schnubb_news WHERE id IN (2 
                          Wer mit den Katzen spielt, muss ihr Kratzen vertragen.

                          Kommentar


                          • #14
                            mach mal den * bei -> DELETE * FROM <- weg. den habe ich durch copy&paste von dir übernommen.
                            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


                            • #15
                              muuuh thx es funzt
                              Wer mit den Katzen spielt, muss ihr Kratzen vertragen.

                              Kommentar

                              Lädt...
                              X