UPDATE will nicht

_root

Erfahrenes Mitglied
Ich will das ich alle Einträge aus einer Tabelle die nicht auf Status "ok" sind angezeigt werden. Das klappt auch schon. Und dann will ich die per Buttonklick Freischalten (also auch auf "ok" setzen). Das klapt aber leider nicht. Vielleicht weiss einer von euch Rat.

MfG aCid

PHP:
<? 
	$db = mysql_connect("127.0.0.1","username", "password");
	mysql_select_db("database",$db);
?>
<?
	$query = mysql_query('SELECT * FROM sun_guestbook WHERE status != "ok"');
	$array = mysql_fetch_array($query);
	while ($daten = mysql_fetch_array($query)) { 

	echo "<table width=\"400\" border=\"1\">";
	echo "  <tr>";
	echo '    <td width=\"58\"><div align="right">Name:</div></td>';
	echo "    <td width='132'>$daten[name]</td>";
	echo "  </tr>";
	echo "  <tr>";
	echo "    <td><div align=\"right\">id:</div></td>";
	echo "    <td>$daten[id]</td>";
	echo "  </tr>";
	echo "  <tr>";
	echo "    <td><div align=\"right\">Nachricht:</div></td>";
	echo "    <td>$daten[message]</td>";
	echo "  </tr>";
	echo "  <tr>";
	echo "    <td>&nbsp;</td>";
	echo "    <td><form name=\form1\" method=\"post\" action=\"\">
		<input name=\"$daten[id]\" type=\"submit\" id=\"frei\" value=\"Freischalten\">
		</form></td>";
	echo "  </tr>";
	echo "</table><br><br>";
if($daten[id]){
		$updategb = mysql_query("UPDATE sun_guestbook SET status  = 'ok' WHERE id = $daten[$id]");
	 	mysql_query($updategb);
  		echo "Eintrag Freigeschaltet!<br><br><br><br>";
	}
?>

<? } ?>
 
Ich würd mal die Kommas prüfen:

PHP:
$updategb = mysql_query('UPDATE sun_guestbook SET status  = \'ok\' WHERE id =\''.$daten[$id].'\'');

LG
Mike
 
mano.. ich bin auch blind:

if($daten[id]){ <---- Hochkomma fehlt, richtig wäre $daten['id'] um das Feld beim Namen anzusprechen.
 
Ja.. ich dachte der ist ausgelassen (unterer Teil liest den Array aus einem Post aus)... Oder sehe ich das falsch?
 
Also das ist nicht für mich erkennbar.
Ich denke, wüßte er Formulare zu verarbeiten, dann hätte er dies beim Hintereinanderposten des Quelltextes berücksichtigt.
Setz ich jetzt einfach mal so voraus. :D :eek: :D
 
Zurück