Löschen ?

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

  • Löschen ?

    Hi!

    Ich habe in PHP ein Script programmiert, mit dem man Inhalte in eine Datenbank
    eingeben kann (es gibt in der DB folgende Felder: datum, head, text und id).
    Das Eintragen funktioniert einwandfrei. Nun meine Frage:
    Beim Löschen muß man über ein Drop-Down-menü den Artikel auswählen:

    <form action='./loeschen.php' method='post'>
    <select name='delete' size='1'>
    <?PHP
    $query="SELECT * FROM nachricht";
    $result=mysql_query($query);
    while($zeile = mysql_fetch_array($result)){
    echo "<option value='$zeile[ID]'>$zeile[head]</option>\n";
    }
    ?>

    In der loeschen.php geschieht nun folgendes:

    <?

    $query="DELETE FROM nachricht WHERE ID = " . $delete;
    mysql_query($query);

    ?>

    <?php mysql_close($verbindung)?>

    Nun mein Problem: Es funktioniert das löschen nicht. Was mache ich falsch ?
    Es stehen doch in jedem Feld (z:b head, text usw.) immer mehrere einträge. Also müßte dies doch über id möglich sein.
    Komisch ist auch, dass $_POST["delete"] keinen Wert über echo ausgiebt. Aber wo liegt der Fehler, wenn ich auf der Ausgabeseite Daten in der Datenbank habe.

    Viele Grüße

    Speedi

  • #2
    PHP-Code:
    <select name="mySelect">
    <
    option value=delete>löschen</option></select
    delete wird als value angegeben und nicht als name


    PHP-Code:
    <? 
    $query="DELETE FROM nachricht WHERE ID = '$delete'" ; 
    mysql_query($query); 
    ?>
    http://www.radiocity.ch

    Kommentar


    • #3
      Elch5: Füg' mal nach der Query folgendes ein:
      PHP-Code:
      echo mysql_error(); 
      Vielleicht ist die Variable auch gar nicht gesetzt. Versuch mal sie über $_REQUEST['die_variable'] anzusprechen.
      Bobby: Wo liegt der Unterschied zwischen deiner Query und der von Elch5 mal von den sinqlequotes abgesehen, die eigentlich unnötig sind (wenn man davon ausgeht wenn die ID 'n int ist (was auch sonst)).
      "Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender

      Kommentar


      • #4
        Konmisch

        Hi!

        Vielen Dank für die Hilfe, aber es geht immer noch nicht.

        loeschen.php:

        <?
        $query="DELETE FROM nachricht WHERE ID = '$delete'" ;
        mysql_query($query);
        ?>

        dropit.php:

        <form action='./loeschen.php' method='post'>
        <select name="auswahl" size='1'>
        <?PHP
        $query="SELECT * FROM nachricht";
        $result=mysql_query($query);
        while($zeile = mysql_fetch_array($result)){
        echo "<option value='delete'>$zeile[head]</option>\n";
        }
        ?>
        </select>

        Wo liegt da der Fehler, ich werde noch verrückt...
        Danke für die Hilfe!

        Elch5

        Kommentar


        • #5
          Original geschrieben von Nezzar
          Elch5: Füg' mal nach der Query folgendes ein:
          Bobby: Wo liegt der Unterschied zwischen deiner Query und der von Elch5 mal von den sinqlequotes abgesehen, die eigentlich unnötig sind (wenn man davon ausgeht wenn die ID 'n int ist (was auch sonst)).
          das ist auch nicht wirklich der punkt. wenn er einen select hat, muss er nicht den select namen als variable "delete" übergeben, sondern den value
          PHP-Code:
          <select name="mySelect">
          <
          option value=delete>löschen</option>
          </
          select
          http://www.radiocity.ch

          Kommentar


          • #6
            OK, das hab ich zuerst übersehen Hast natürlich recht.
            Die Query also wie folgt:
            $query="DELETE FROM nachricht WHERE ID = '$auswahl'"
            "Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender

            Kommentar


            • #7
              Der Fehler ist noch da

              Hi!

              Danke, aber es geht immer noch nicht.

              dropit.php:
              <select name='auswahl' size='1'>
              <?PHP
              $query="SELECT * FROM nachricht";
              $result=mysql_query($query);
              while($zeile = mysql_fetch_array($result)){
              echo "<option value='delete'>$zeile[head]</option>\n";
              }
              ?>


              loeschen.php:

              <?
              $query="DELETE FROM nachricht WHERE ID = '$auswahl'" ;
              mysql_query($query);
              ?>

              Kommentar


              • #8
                wie oben schon beschrieben liegt der fehler in deinem <select>. du übergibst als wert den namen des <select>, anstatt den value des angeklickten wertes.

                wie es aussieht habe ich oben schon 2 mal hingeschrieben
                http://www.radiocity.ch

                Kommentar


                • #9
                  Ja, aber...

                  Irgendwie stehe ich gerade auf dem Schlauch. Ich habe schon verstanden was du meinst, kann es aber irgendwie nicht nachvollziehen was ich ändern muß.

                  <select name="auswahl" size='1'>
                  <?PHP
                  $query="SELECT * FROM aktuell";
                  $result=mysql_query($query);
                  while($zeile = mysql_fetch_array($result)){
                  echo "<option value='delete'>$zeile[head]</option>\n";
                  }
                  ?>
                  </select>

                  von opotion ist doch das value=delete. soll ich dieses jetzt auswahl nennen oder wie ?

                  Wäre nett, wenn du die sache mal schnell einbauen könntest. ich verstehe es nicht. 1000 DANK

                  speedi

                  Kommentar


                  • #10
                    PHP-Code:
                    <select name="mySelect">
                    <
                    option value=delete>löschen</option>
                    </
                    select
                    http://www.radiocity.ch

                    Kommentar


                    • #11
                      DANKE

                      Danke!

                      Es hat geklappt!

                      Viele Grüße...

                      Kommentar

                      Lädt...
                      X