problem mit ID-Löschen bei Gästebuch

hmmm .. wäre es nicht vielleicht sinnvoller wenn ich die variante mit ID selbst eingeben lasse und einfach nen button zu den einträgen dazu mache um sie damit zu löschen?
 
Natürlich ist das sinnvoller, die id des zu löschenden Eintrages übergibst du dann via GET Variable an das Script.
In dem du zb. nach jedem Eintrag einen Link in der Schleife ausgibst:
PHP:
echo "<a href='deinScript.php?toDeleteId=".$row->id."'>löschen</a>"

im php Script in dem du den Eintrag löscht erhältst du dann in $_GET['toDeleteId'] die entsprechende id.
 
Zuletzt bearbeitet:
hab das jetzt mal umgesetzt, bekomm aber vom zweiten script nen:
Code:
Parse error: syntax error, unexpected T_VARIABLE in /home/.sites/87/site373/web/phoenician/de/gb_delete.php on line 141

PHP:
<?
include("../inc/gb_connect.php");
$deleteID = $_GET['deleteID']
$aendern = "DELETE FROM dgb_daten WHERE id = '$deleteID'"; //line 141
$delete = mysql_query($aendern);
?><center><b>EINTRAG <? echo $row->id ?> wurde gelöscht!</b><br>
<a href="gb_index.php">Zum Gästebuch</a></center>
<?
$count = 1;
$abfrage = "SELECT * FROM dgb_daten";
$ergebnis = mysql_query($abfrage);
while ($row = mysql_fetch_object($ergebnis))
{
?>

wo ist nun wieder der fehler?

er findet nämlich im ersten script die richtige ID ohne probleme :confused:
 
PHP:
<?
include("../inc/gb_connect.php");
$deleteID = $_GET['deleteID']
$aendern = "DELETE FROM dgb_daten WHERE id = '$deleteID'"; //line 141
$delete = mysql_query($aendern);
?><center><b>EINTRAG <? echo $row->id; ?> wurde gelöscht!</b><br>
<a href="gb_index.php">Zum Gästebuch</a></center>
<?
$count = 1;
$abfrage = "SELECT * FROM dgb_daten";
$ergebnis = mysql_query($abfrage);
while ($row = mysql_fetch_object($ergebnis))
{
?>

Da fehlte ein kleines Semikolon hinter echo $row->id.

Und bitte benutze die [php ][/php ] Tags, damits auch schön bunt aussieht :)

/edit:

Und DJ Teacs Ratschlag natürlich auch wahrnehmen und berichtigen... ;)

/edit2:
DJ Teac, du warst nicht zufällig mal unter dem Alias HeadCrash unterwegs?
 
Zuletzt bearbeitet:
hey!

jetzt funktioniert das Löschen, aber das Editieren macht mir nun Probleme. :)

Das Editieren funktioniert bei mir mit 3 Scripts. Das 1. funktioniert wie das Löschen-Script nur mit nem "edit"-button statt nem "löschen" button.

das zweite script beinhaltet die formulare zum eintragen der änderungen:

PHP:
<form action="gb_aendern.php" method="POST">

<br>Name:
<br>
<input type="text" name="gb_name" maxlength="100" value="

<? 
   include("../inc/gb_connect.php");
   $editID = $_GET['editID'];
   $abfrage = "SELECT gb_name FROM dgb_daten WHERE $editID ORDER by $editID DESC";
   $ergebnis = mysql_query($abfrage);
   while($row = mysql_fetch_object($ergebnis))
      {
	  echo $row->gb_name;
	  }
?>
">

<br>E-Mail:
<br>
<input type="text" name="gb_mail" maxlength="100" value="

<? 
   include("../inc/gb_connect.php");
   $abfrage = "SELECT gb_mail FROM dgb_daten WHERE $editID";
   $ergebnis = mysql_query($abfrage);
   while($row = mysql_fetch_object($ergebnis))
      {
	  echo $row->gb_mail;
	  }
?>
">


<br>GB Eintrag:
<br>
<textarea cols="50" rows="10" name="gb_eintrag">

<? 
   include("../inc/gb_connect.php");
   $abfrage = "SELECT gb_eintrag FROM dgb_daten WHERE $editID";
   $ergebnis = mysql_query($abfrage);
   while($row = mysql_fetch_object($ergebnis))
      {
	  echo $row->gb_eintrag;
	  }
?>

</textarea>

<br><br>
<input type="submit" value="ändern">
</form>

und schlussendlich das 3. formular welches die änderungen vornimmt:

PHP:
<?
	$editID = $_GET['editID'];
   include("../inc/gb_connect.php");
   $aendern = "UPDATE dgb_daten set gb_name = '$gb_name' WHERE $editID";
   $update = mysql_query($aendern);

   $aendern = "UPDATE dgb_daten set gb_mail = '$gb_mail' WHERE $editID";
   $update = mysql_query($aendern);

   $aendern = "UPDATE dgb_daten set gb_eintrag = '$gb_eintrag' WHERE $editID";
   $update = mysql_query($aendern);
?>

aber um letzteres script konnte ich mich noch nicht kümmern, ich habe nämlich das problem, dass das zweite script nicht funktioniert. ich habe aktuell zwei datensätze in der datenbank .. wenn ich jedoch auf "edit" für einen der zwei datensätze drücke, werden beide datensätze in das formularfeld geladen.

weiß jemand Rat?

(ich weiß ich nerve .. hehe, sorry ) :)
 
Zurück