mysql Datensatz löschen per Link

ok das mit dem Echo Befehl das der etwas mehr als nur en Ausgabe hat also ein Sprachgerüst habe ich mir nun zu gemüte geführt *gg*

Mein Fehler war das ich die komplette Zeile in ein <? gesetzt hatte

Problem ist und bleibt , danke für die Hilfe

Sobald ich nun auf löschen gehe das oben php?del .... steht aber nix passiert

Code:
<meta http-equiv="refresh" content="20; URL=http://www.ml-radio.info/test1/shoutboxx2.php">
<?php
include("config.php");

$img_abfrage = array
 (
    "8-)","cool.gif",
    "?-)","fragezeichen.gif",
    ":-(","ohh.gif",
    ":lol:","lol.gif",
    ";-)","zwinker.gif",
 );

function format_message($text)
{
   global $img_abfrage;

   $text = addslashes($text);
   $text = stripslashes($text);
   $text = htmlspecialchars($text);
   $text = trim($text);

   $img_zaehler = 0;
   while($img_abfrage[$img_zaehler]!="")
   {
       $img_zaehler_neu = $img_zaehler + 1;
       $text = str_replace("$img_abfrage[$img_zaehler]","<img src=\'img/$img_abfrage[$img_zaehler_neu]\'>",$text);
       $img_zaehler+=2;
   }
     
   return $text;
}


$sq = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db_name, $sq);

$delete_time = time()-$max_anzeigedauer;

@mysql_query("DELETE FROM shoutboxx WHERE timestamp <= '$delete_time'");

if($Message!="" && $Nickname!="" && $Message2!="")
{
	$Message = format_message($Message);
    mysql_query("INSERT INTO shoutboxx (timestamp, nickname, message, message2) VALUES('".time()."', '$Nickname', '$Message', '$Message2')");
}

$anfrage = mysql_query("SELECT * FROM shoutboxx ORDER BY timestamp DESC LIMIT $max_eintraege");
if(isset($_GET['del']) and !empty($_GET['del'])){
    mysql_query('DELETE FROM `shoutboxx` WHERE id= '.$_GET['del']);
}
?>
<body text="#FFFF00" bgcolor="#000000" topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">

<div align="left"><!-- Boxgrösse und Farben anpassbar -->
	<table width="220" border="0" cellspacing="2" cellpadding="6" bgcolor="#000000">
		
		<tr>
			<td bgcolor="#000000"><!-- Farbe anpassbar -->
<div align="left"><!-- Schrift anpassbar --><font face="Verdana" size="1"color="#ffff00">
					<p><?             while($ausgabe = mysql_fetch_object($anfrage))
            {
            ?></p>
					<p> <b><? echo $ausgabe->nickname; ?></b><br>
						(<? echo date("d.m.Y", $ausgabe->timestamp); ?> um <? print date("H:i:s", $ausgabe->timestamp); ?>):<br>
						Wunsch:&nbsp;<b><? echo  $ausgabe->message; ?></b><br>Gruß:&nbsp;<b><? echo $ausgabe->message2; ?></b><br><br>ID:&nbsp;<b><? echo $ausgabe->id; ?></b><br>
					</p><a href='shoutboxx2.php?del=<?php echo $row->id;?>'>Loeschen</a>
					<p><?             }
            ?></p>
				</font></div>
					</td>
		</tr>
	</table>
		<? mysql_close($sq);?>
</div>

Hier nochmal der komplette Code
Erweitert hatte ich zudem noch die ID
 
wie wärs mit debuggen?
PHP:
if(isset($_GET['del']) and !empty($_GET['del'])){
    var_dump($_GET['del']);
    mysql_query('DELETE FROM `shoutboxx` WHERE id= '.$_GET['del']);
}
Ausserdem verwende bitte PHP-tags für php-code so unformatiert ist dein code schwieriger zu lesen
 
PHP:
<meta http-equiv="refresh" content="20; URL=http://www.ml-radio.info/test1/shoutboxx2.php">
<?php
include("config.php");

function format_message($text)
{
   global $img_abfrage;

   $text = addslashes($text);
   $text = stripslashes($text);
   $text = htmlspecialchars($text);
   $text = trim($text);
    
   return $text;
}


$sq = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db_name, $sq);

$delete_time = time()-$max_anzeigedauer;

@mysql_query("DELETE FROM shoutboxx WHERE timestamp <= '$delete_time'");

if($Message!="" && $Nickname!="" && $Message2!="")
{
	$Message = format_message($Message);
    mysql_query("INSERT INTO shoutboxx (timestamp, nickname, message, message2) VALUES('".time()."', '$Nickname', '$Message', '$Message2')");
}

$anfrage = mysql_query("SELECT * FROM shoutboxx ORDER BY timestamp DESC LIMIT $max_eintraege");
if(isset($_GET['del']) and !empty($_GET['del'])){
    var_dump($_GET['del']);
    mysql_query('DELETE FROM `shoutboxx` WHERE id= '.$_GET['del']);
} 
?>
<body text="#FFFF00" bgcolor="#000000" topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">

<div align="left"><!-- Boxgrösse und Farben anpassbar -->
	<table width="220" border="0" cellspacing="2" cellpadding="6" bgcolor="#000000">
		
		<tr>
			<td bgcolor="#000000"><!-- Farbe anpassbar -->
<div align="left"><!-- Schrift anpassbar --><font face="Verdana" size="1"color="#ffff00">
					<p><?             while($ausgabe = mysql_fetch_object($anfrage))
            {
            ?></p>
					<p> <b><? echo $ausgabe->nickname; ?></b><br>
						(<? echo date("d.m.Y", $ausgabe->timestamp); ?> um <? print date("H:i:s", $ausgabe->timestamp); ?>):<br>
						Wunsch:&nbsp;<b><? echo  $ausgabe->message; ?></b><br>Gruß:&nbsp;<b><? echo $ausgabe->message2; ?></b><br><br>ID:&nbsp;<b><? echo $ausgabe->id; ?></b><br>
					</p><a href='shoutboxx2.php?del=<?php echo $row->id;?>'>Loeschen</a>
					<p><?             }
            ?></p>
				</font></div>
					</td>
		</tr>
	</table>
		<? mysql_close($sq);?>
</div>

Eingefügt bzw geändert kommt aber keine weitere ausgabe

hier der Pfad: http://www.ml-radio.info/test1/shoutboxx2.php
 
Zuletzt bearbeitet:
ja jetz seh ich warum...
PHP:
$row->id
müsste eigentlich
PHP:
$ausgabe->timestamp
heissen.
Und die Delete abfrage würde ich weiter nach oben verschieben ansonsten wird das löschen nach dem abfragen der einträge ausgeführt was dazu führt das der Eintrag noch einmal angezeigt wird obwohl er schon gelöscht ist.
 
ja nun funktioniert es , Danke nochmals, muste nur den Dump Befehl noch rausnehmen da er mir da es nur anzeigte aber nix löschte.

Nun klappt alles

also wenn einer den fertigen Code auch für eine einfache Gruß und Wunschbox ohne Schnickschnakc haben möchte soll er sich bei mir melden .

Lässt sich einfach anpassen auch mit weiteren Feldern sowie farbliche Gestaltung

Gruß Magnus

PS . werde mich weiterhin mit den Seiten beschäftigen und dazulernen
 
Ja ich kann allen nur nochmal mein Herzliches Dankeschön aussprechen für die schnelle Hilfe :-)

Gruß Magnus
 
Zurück