Problem beim Löschen aus der MySQL Datenbank

R3D-k1lla

Grünschnabel
hi, ich möchte gerne versuchen über ein php script news zulöschen, aber meins funktioniert nicht so richtig

Hier der code:

admin.php
PHP:
<?php

include '../functions.inc.php';
connect_db();

$result = mysql_query("SELECT * FROM sth_news ORDER BY id DESC");
while($news = mysql_fetch_array($result))
{
echo "
  <table width='41%' border='0' align='center' bgcolor='#3B586D'>
    <tr>
      <td width='66%' height='20'>$news[topic]</td>
      
    <td width='34%' height='20'><a href='news_del.php?del=$news[id]'>del</a> , edit</td>
    </tr>
  </table>
";
}
?>

soweit geht alles


news_del.php

PHP:
<?php 

include '../functions.inc.php';

connect_db();

$newsdel = mysql_query("DELETE FROM sth_news where id = '$id'");

if($newsdel) {
  echo "News gelöscht $id";
} else {
  echo mysql_error();
}

?>

Der sagt zwar News gelöscht, aber irgendwie stimmt das nicht :)
 
PHP:
<a href='news_del.php?del=$news[id]'>del</a>

Die var $del ist in deiner news_del.php gar nicht aufgeführt!

machs mal so
PHP:
<?php 

include '../functions.inc.php';

if($del){
  connect_db();

  $newsdel = mysql_query("DELETE FROM sth_news where id = '$id'");

  if($newsdel) {
    echo "News gelöscht $id";
  }
  else {
    echo mysql_error();
  }
}//end of if($del)

?>
 
Zuletzt bearbeitet:
DAS dachte ich auch erst!
ABER wenn du genau hinguckst
ist news_del die DATEI, keine var!

aber irgendwie glaube ich, das die IP der zu löschenden news noch nicht richtig übertragen wird...

[edit] ich habe das bei mir so (das ist jetzt der link):
PHP:
guestbook.php?action=del&id=$id
kurze erklärung
$action ist bei mir immer dabei, da ich dann nicht wie du für jede "action" ne neu datei machen muss. zu emfehlen ist:
PHP:
if(!isset($action)){
  $action = "view";
  }
  
switch($action){

  case "view":
  //Dein Zeug
  break;

  case "add":
  //Dein Zeug
  break;
  
  case "edit":
  //Dein Zeug
  break;
  
  case "del":
  //Dein Zeug
  break;
}

das ist jetzt mal ein beispiel wie ich es immer mache...
in meinen link guestbook.php?action=del&id=$id
war die action = del also spring der pc gleich zum letzen teil
und mit &id=$id überträgst du die jeweilig id der news(etc.)

und dann schreibst du dann noch folgendes in die "del" funktion
PHP:
if($id){

	  $sql = "DELETE FROM kuh_guestbook WHERE book_id='$id'";
	  mysql_query($sql, $db); 
          echo "News gelöscht $id";
} 
else {echo mysql_error();
}

wichtig ist nur, das du die id auch dem link zuweist! Und nicht vergessen, die Tabelle zu ändern, wenn du es kopierst!
dann sollte es funktionieren - zumindest klappt das bei mir :)
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück