einträge bearbeiten !

Sebastian

Erfahrenes Mitglied
Wie würdet ihr das machen das ich hier auch noch vorhandene News bearbeiten kann ! Das sollte so sein wie beim löschen das man die news auswählen kann und dann bearbeiten !

PHP:
<?
$host="localhost";
$user="root";
$pwd="";
$dbname="tldesign";
$table="news";

$datum=date("d/m/y");
$zeit=date("H:i");
$conn_id=mysql_connect($host,$user,$pwd);
mysql_select_db($dbname,$conn_id);

if ($action==eintragen)
{if (($titel!="") || ($inhalt!=""))
{mysql_query("insert into $table (titel,inhalt,datum,zeit) values ('$titel','$inhalt','$datum','$zeit')");}}

if ($action==loeschen)
{mysql_query("delete from $table where id = $id");}

?>
<html>

<head>
<title>News</title>
</head>

<body>

<form action="<? echo $PHP_SELF."?action=eintragen"; ?>" method="post">
<input type="text" name="titel" size="30"><br>
<textarea name="inhalt" cols="30" rows="5"></textarea><br>
<input type="submit" value="Senden"> <input type="reset" value="Reset">
</form>
<br><br>
<form action="<? echo $PHP_SELF."?action=loeschen"; ?>" method="post">
<select name="id">
<?
$query="select * from $table order by id desc";
$result=mysql_query($query,$conn_id);
while ($row=mysql_fetch_array($result))
{$id=$row['id'];
$titel=$row['titel'];
$inhalt=$row['inhalt'];
$datum=$row['datum'];
$zeit=$row['zeit'];
echo "<option value=\"$id\">".$titel." ".$datum." ".$zeit."</option>\n";}
?>
</select>
<input type="submit" value="Löschen">
</form>

</body>

</html>
 
-

Du wählst einen Beitrag aus und lässt diesen in einem Textarea nochmal einblenden. Danach kannst du ihn dann bearbeiten und schreibst den Beitrag wieder mit dem SQL Befehle "UPDATE" wieder in deine Datenbank, wo id = id ist.
 
der schreibt die bearbeiteten einträge einfach nicht neu in die datenbank ich hab alles probiert !!!!!!!
HILFE !!!!!!!!!!!!!!!!

PHP:
<?
$host="localhost";
$user="root";
$pwd="";
$dbname="tldesign";
$table="news";

$datum=date("d/m/y");
$zeit=date("H:i");
$conn_id=mysql_connect($host,$user,$pwd);
mysql_select_db($dbname,$conn_id);

if ($action==eintragen)
{if (($titel!="") || ($inhalt!=""))
{mysql_query("insert into $table (titel,inhalt,datum,zeit) values ('$titel','$inhalt','$datum','$zeit')");}}

if ($action==loeschen)
{mysql_query("delete from $table where id = $id");}

if ($action==bearbeiten)
{$result2=mysql_query("select * from $table where id = $id2");
while ($row2=mysql_fetch_array($result2))
{$titel2=$row2['titel'];
$inhalt2=$row2['inhalt'];}
if ($neu==ja)
{mysql_query("update $table set titel = $newtitel where id = $id2");
mysql_query("update $table set inhalt = $newinhalt where id = $id2");}}

?>
<html>

<head>
<title>News</title>
</head>

<body>
<? if ($action=="bearbeiten") { ?>
<form action="<? echo $PHP_SELF."?action=bearbeiten&neu=ja"; ?>" method="post">
<input type="hidden" name="id2" value="<? echo $id2; ?>">
<input type="text" value="<? echo $titel2; ?>" name="newtitel" size="30"><br>
<textarea name="newinhalt" cols="30" rows="5"><? echo $inhalt2; ?></textarea><br>
<input type="submit" value="Senden"> <input type="reset" value="Reset">
</form>
<? } else { ?>
<form action="<? echo $PHP_SELF."?action=eintragen"; ?>" method="post">
<input type="text" name="titel" size="30"><br>
<textarea name="inhalt" cols="30" rows="5"></textarea><br>
<input type="submit" value="Senden"> <input type="reset" value="Reset">
</form>
<? } ?>
<br><br>
<form action="<? echo $PHP_SELF."?action=loeschen"; ?>" method="post">
<select name="id">
<?
$query="select * from $table order by id desc";
$result=mysql_query($query,$conn_id);
while ($row=mysql_fetch_array($result))
{$id=$row['id'];
$titel=$row['titel'];
$inhalt=$row['inhalt'];
$datum=$row['datum'];
$zeit=$row['zeit'];
echo "<option value=\"$id\">".$titel." ".$datum." ".$zeit."</option>\n";}
?>
</select>
<input type="submit" value="Löschen">
</form>
<form action="<? echo $PHP_SELF."?action=bearbeiten"; ?>" method="post">
<select name="id2">
<?
$query="select * from $table order by id desc";
$result=mysql_query($query,$conn_id);
while ($row=mysql_fetch_array($result))
{$id=$row['id'];
$titel=$row['titel'];
$inhalt=$row['inhalt'];
$datum=$row['datum'];
$zeit=$row['zeit'];
echo "<option value=\"$id\">".$titel." ".$datum." ".$zeit."</option>\n";}
?>
</select>
<input type="submit" value="Bearbeiten">
</form>

</body>

</html>
 
or die...

versuchs mal mit "or die"
also:
$hErg = mysql_query(...) or die ('Konnte nicht updaten');

da kommen auch häufig ma nette fehlermeldungen die einen weiterhelfen...

was mir auch bei so nen sachen häufig passiert ist, is das ja evtl auch ma en string dabei sein kann der n ' oder en " enthält und die sollte man dann vorher irgendwie in den griff bekommen..
wenn man einsfach ham will dann löscht man sie einfach raus :

$string = ereg_replace("\"","",$string);
(bin mir nich sicher ob die parameter in der richtigen reihenfolge sind.. einfach unter php.net nomma nachschaun ;-) )

oder du ersetzt alle " durch ' und alle ' werden gelöscht... jenachdem is immer n bissl schlecht zu handhaben...

hth
Sebastian Götz
 
nochwas

hab gerade gesehen wo der fehler noch liegen könnte..

mysql is immer n bissl streng bei den befehlen... wenn das field inhalt vom typ text (o.ä.) ist, und das feld id vom typ int (o.ä.) ist, dann musst du auf jeden fall beachten, dass string-paramater immer in ' geschrieben werden und bei int werten diese weggelassen werden -müssen- !

$strSQL = "update $table set inhalt = '$inhalt' where id = $id;";

und das semikolon sollte man der richtigkeit halber auch nett vergessen...

hth
Sebastian
 
hehe, schau mal in die PHP dokumentation:
mysql_query -- Sendet eine SQL Anfrage zum Datenbankserver
Beschreibung

int mysql_query (string Anfrage [, int Verbindungs-Kennung])


Mysql_query() sendet eine Anfrage zu der zur Zeit aktiven Datenbank-Verbindung oder der Verbindung mit der übergegebenen Kennung. Wenn keine offene Verbindung besteht, wird versucht eine Verbindung aufzubauen, als ob mysql_connect() ohne Argumente aufgerufen wird.

Die Anfrage sollte nicht mit einem Semikolon enden.

nur mal so nebenbei :). und wenn noch nichts nach deinem letzten post steht, so benutz doch bitte den edit button.. ;)
 

Neue Beiträge

Zurück