MySQL- Fehlermeldungen bei löschen von Datensatz

kavanin

Mitglied
Hallo zusammen,

ich möchte mit Hilfe eines Select Option Feld einen Datensatz aus der DB löschen, jedoch es mal wenn ich auf senden gehe, dann bekomme ich diese Fehlermeldungen:

Notice: Undefined index: id in /var/www/html/admin/news_admin2.php on line 21

Warning: mysql_query(): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 1' at line 1 in /var/www/html/admin/news_admin2.php on line 23


Hier der Code:
PHP:
<?php
error_reporting(E_ALL);
include ("connect.php");   
if(isset($_POST['loeschen'])){
    $id = $_POST['id'];
    $deled = "DELETE FROM `news` WHERE `news`.`id` =$id LIMIT 1";
  if(mysql_query($deled)){
  echo '<p valign="middle" class="normal2">Eintrag wurde gelöscht</p>';
  } 
}
?>
													  			                  
                        <form method="POST">
                            <input width="200px" type="hidden" value="1" name="submit">
                                <table border="0" cellspacing="1" cellpadding="1">
                                    <tr>
                                         <td valign="middle" align="right" class="normal2" nowrap>
                                            Headline&nbsp;
                                        </td>
                                        <td colspan="2">
                                            <? $dbanfrage = "SELECT * from news";
                                                $result = mysql_query ($dbanfrage);
                                                $options = "";
                                                echo "<select name=eintrag>\n";
                                                while ($ausgabe = mysql_fetch_array ($result))
                                                {
                                                    
                                                    $option = "<option value='".$ausgabe['id']."' name='".$ausgabe['id']."'>" .$ausgabe['id']." " .$ausgabe['monat']." ".$ausgabe['jahr']. " ".$ausgabe['bedreff']. " </option>\n";
                                                    echo $option;
                                                }
                                                echo "</select>\n";                                               
                                                mysql_free_result($result);
                                                ?>
                                        </td>
                                   </tr>
                                   <tr>
                                        <td>&nbsp;</td>
                                        <td  width="365px">&nbsp;</td>
                                        <td>
                                            <input style="vertical-align: bottom" width="5px" align="right" type="submit" name="loeschen" class="button" value="SENDEN>>" border="0">
                                        </td>
                                  </tr>
                                </table>
                        </form>

Kann mir bitte jemand sagen, was der Fehler ist und was ich ändern muss um es zum funktionieren zu bekommen!

Danke im voraus
Lg Kavanin
 
Hi.

Du hast kein Form-Element auf der Seite welches 'id' heißt. Deshalb ist $_POST['id'] auch nicht gültig. Deshalb sieht der SQL Befehl bei dir so aus:
SQL:
DELETE FROM `news` WHERE `news`.`id` = LIMIT 1

Versuch's mal so:
PHP:
if (isset($_POST['eintrag']) {
  $id = $_POST['eintrag'];
  ..
}
Gruß
 
Zurück