PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : UPDATE-Problem


Darksaber
21.08.2003, 12:24:09
Hi

Ich hab eine Tabelle mit 5 Spalten, id, name, link, grafik und beschreibung. Es soll möglich sein, bestimmte Einträge zu bearbeiten.
Die Seite für die Bearbeitung sieht so aus:

Name: <input type"=text" name="name"....>
URL: <input type="text" name="link" ...>
Grafik: <input type="text" name="grafik" ...>
Beschreibung: <input type="text" name="beschreibung" ...>

Die Values der Textfelder weren durch die Einträge aus der Datenbank gefüllt.

Und so will ich dann das ganze in die Datenbank eintragen:

<?php
if(!empty($_POST['name']))
{
require("../../config/db.php");
$eintrag = mysql_query("UPDATE games SET name = '".$_POST['name']."' AND link = '".$_POST['url']."' AND grafik = '".$_POST['grafik']."' AND beschreibung = '".$_POST['beschreibung']."' WHERE id = '".$_POST['id']."'");
if(mysql_affected_rows() == 1)
{
echo "Eintragung erfolgreich";
}
else
{
echo "Datenbankfehler!";
}
}
else
{
echo "Bitte füllen Sie alle benötigten Felder aus";
}
?>

id wird über ein Hiddenfield übergeben.

Nun habe ich aber das Problem, dass das Script mir "Datenbankfehler!" zurückgibt wenn ich in einem der input-Felder keine Änerungen vorgenommen habe.
Weiterhin bekomme ich den felderausfüllen-Fall, wenn wenn ich am Namefeld keine Veränderungen vorgenommen habe, obwohl dieses ja schon aus der Datenbank heraus gefüllt wurde.

Kann mir da vielleicht jemand von euch helfen?

Gruss
Darky

Damir
21.08.2003, 12:44:33
Hi,
es liegt an dem AND in Deinem Query!
Mache es so:

$eintrag = mysql_query("UPDATE games SET name = '".$_POST['name']."', link = '".$_POST['url']."', grafik = '".$_POST['grafik']."', beschreibung = '".$_POST['beschreibung']."' WHERE id = '".$_POST['id']."'");

Bye DAmir

soerens2701
09.09.2003, 23:00:38
habe ein ähnliches Problem nur er will es irgend wie nich updaten:

mein formular:

<form method="post" action=<?php echo $PHP_SELF ?>>
ID: <input type="id" name="id"><br>
Nachricht: <textarea type="text" name="text"></textarea><br>
<input type="submit" name="valider" value="Send">
</form>

und mein php-gebastle in der GLEICHEN php-seite:

<?php
if ($valider) {
$db = mysql_connect();
$eintrag="UPDATE zugriff SET IM = '".$_POST['IM']."' WHERE id = '".$_POST['id']."'";
mysql_query($eintrag, $db);
}
?>
hoffe ihr könnt mir weiterhelfen!!!

c4
10.09.2003, 05:33:36
soerens, Du wirst das vermutlich so schreiben müssen: if ($_POST['valider']) {

soerens2701
10.09.2003, 09:13:44
... und damit alle etwas davon haben möchte ich als Neuling der
PHP und MySQL es VERSUCHEN zu erklären (Ich übernehme keinerlei
Haftung bei folgeschäden, die dadurch entstehen können ;-) )

Also mal der Quelltext:
<?php
if ($valider) {
$db = mysql_connect();
$eintrag="UPDATE zugriff SET IM = '".$_POST['IM']."' WHERE id = '".$_POST['id']."'";
mysql_query($eintrag, $db);
}
?>
<form method="post" action=<?php echo $PHP_SELF ?>>
ID: <input type="id" name="id"><br>
Nachricht: <textarea type="IM" name="IM"></textarea><br> # Ich habe vergessen diese Werte mit den neuen SQL-Tabellen Wert zu ersetzen!!!
<input type="submit" name="valider" value="Send">
</form>


So hoffe jemanden geholfen zu haben ;-) aber hat sich vieleicht auch jeder denken können....

c4
10.09.2003, 17:16:09
Fein, dass es klappt, aber was soll type='IM' bei <textarea> bedeuten?? Gibt's das überhaupt?