mysql Datensatz löschen per Link

Magnus

Grünschnabel
So da das Thema schon etwas älter ist und Empfehlung eher ein neues Thema zu Eröffnen mach ich das doch mal Glatt

das ganze bezieht sich auf den Post ID= 297417

Nur leider kam ich da net weiter :-(

So ich glaub hier bin ich richtig mal schaun

ich habe im Netz ein script gefunden was mir sehr gelegen kommt da es sehr einfach ist für eine Gruß und Wunschbox

Nun habe ich das Script schon zerflückt so das ich eine Eingabe Datei für die Hörer habe und eine Ausgabedatei für den jeweiligen Moderator.

Gut und schön in dem Script war eine Funktion das man Einstellen konnte das z.B. nach Zeit die Einträge nach und nach gelöscht werden.

Ich habe mich mal an dem Beispiel oben versucht den Link mit der Löschfunktion bei mir einzubauen leider ohne Erfolg :-(

Hier mal der Code

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 timestamp = '.$_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>
                                        <a href='shoutboxx2.php?del=$row->'timestamp'>Loeschen</a>
					</p>
					<p><?             }
            ?></p>
				</font></div>
					</td>
		</tr>
	</table>
		<? mysql_close($sq);?>
</div>

Wie man sieht muste ich hier den Löschlink von Oben statt mit ID auf timestamp setzen .

Es gibt die Tabelle shoutboxx mit 4 Spalten ( timestamp, nickname, message und message2)

Vieleicht kann mir ja hier einer weiterhelfen das das mit dem Löschlink klappt

PS: Eingabedatei

Code:
<?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");

?>
<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"><!-- Texte anpassbar --><center><font face="Verdana" size="2" color="#ffff00">Gruß und Wunschbox<br>
                          </font></center>
				<form name="shoutboxx" method="POST" action="<? echo $PHP_SELF; ?>">
						<div align="center">
							<table border="0" cellspacing="0" cellpadding="0">
								<tr>
									<td width="64">
										<div align="left"><!-- Schrift anpassbar --><font face="Verdana" size="1"color="#ffff00">
											Nickname&nbsp;&nbsp;</font></div>
									</td>
									<td><input type="text" name="Nickname" maxlength="16" value="<? echo $Nickname; ?>" size="20"></td>
								</tr>
								<tr>
									<td width="64">
										<div align="left"><!-- Schrift anpassbar --><font face="Verdana" size="1"color="#ffff00">
											Wunsch&nbsp;</font></div>
									</td>
									<td><input type="text" name="Message" size="20"></td>
								</tr>
<tr>
									<td width="64">
										<div align="left"><!-- Schrift anpassbar --><font face="Verdana" size="1"color="#ffff00">
											Gruss&nbsp;</font></div>
									</td>
									<td><input type="text" name="Message2" size="20"></td>
								</tr>
							</table>
							<input type="submit" name="senden" value="Senden"></div>
					</form>
			</td>
		</tr>
		
	</table>
		<? mysql_close($sq);?>
</div>
 
Ok habe mal die spalte id hinzugefügt : id int11 not null auto-incement Primary

Im Code das ganze von timestamp auf id geändert

wenn ich nun auf den link löschen gehe kommt :

http://www.ml-radio.info/test1/shoutboxx2.php?del=$row-%3E

und das wars ?

Eingabe Link ist :
http://www.ml-radio.info/test1/shoutboxx.php

komm da irgendwie nicht weiter :-(
beim Reload der shotboxx2.php ist der Eintrag immer noch drinn
 
Zuletzt bearbeitet:
Moin,

Code:
<a href='shoutboxx2.php?del=$row->'timestamp'>Loeschen</a>
Die Ausgabe erfolgt nicht innerhalb eines php-Abschnittes, somit wird $row dort auch nicht geparst.
 
also ich hab nun einiges ausprobiert muss aber nochmal betonen bin mehr oder viel mehr ein reiner Anfänger :-(

Kann mir hier jemand mit dem Script vieleicht mal komplett auf die Sprünge helfen ?

Kann auch gerne den kompletten Dateisatz als Rar anhängen

Gruß Magnus

PS : eigentlich geht es nur um die shoutboxx2.php Datei wo der löschlink reinsoll :-(

Wenn das teil läuft und jemand kann es gebrauchen nur melden
 
Zuletzt bearbeitet:
Hi

um eine PHP-Variable auszugeben, musst du sie innerhalb von <?php ?> benutzt werden. Vielleicht kommst du ja jetzt auf die Lösung, Sven hat dir ja schon mit dem Zaunpfahl gewunken ;)
 
Ok der Zaunpfhal hat zwar gesessen nur krieg ich nun einen Syntax fehler

<a href='shoutboxx2.php?del=$row->'timestamp'>Loeschen</a> <----- Das muss nun in den <? Breich ?>

Wenn ich das z.B. nach der letzten Ausgabe mache in den bzw vor dem ?> krieg ich unexpected Syntax Fehlermeldunf :-(

hmmm weiter ausprobieren bzw postet mir ja doch einer wo die Zeile hingehört oder sagt das Script lässt sich dafür nicht umschreiben

aber schon mal danke für die Bemühungen
 
Ähm sorry aber Mike hat dir bereits gesagt woran es hakt....
PHP:
<a href='shoutboxx2.php?del=<?php echo $row->timestamp;?>'>Loeschen</a>
 
Zurück