| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

02-10-2009, 09:58
|
|
stocki
Registrierter Benutzer
|
|
Registriert seit: Jul 2004
Beiträge: 12
|
|
PhP4 --> PhP5 Werte aus Datenbank in Formular übergeben
Hallo
Vor einigen Jahren hatte ich mich mal ein wenig mit php versucht und auch die eine oder andere Website erstellt. Jetzt forderte mich mein Provider auf, ich soll meine mysql4 Datenbank und php4 auf die Version 5 updaten. Nach dem Update funktioniert leider nicht mehr ganz alles. Ich habe eine simple Datenbank (Gartenkalender) welche der User im Backend selbst füllen kann. Er kann Datensätze hinzufügen, löschen und editieren. Leider werden für das editieren die bestehenden Datensätze nicht mehr ins Formular übernommen. Kann mir bitte jemand helfen? Hier das Script aus Edit:
Code:
<?
//wurde ID übergeben
if ($id > 0) {
//sql-Abfrage und Datensatz mit entsprechender ID anzeigen
$sql = "SELECT * FROM tb_kalender where id=" . $_GET['id'] ;
$dbresult = mysql_query($sql, $db) or die("SQL-Query fehlgeschlagen: " . mysql_error());
//Pro gefundenen Datensatz wird folgender Block ausgegeben
if(!$field = mysql_fetch_assoc($dbresult)) {
echo "Datensatz nicht gefunden";
$error = true; //Kein Formular anzeigen wenn Datensatz nicht gefunden
}
}
if (!$error) {
?>
<form method="post" action="edit_save.php">
<input type="hidden" name="id" value="<?=$id ?>">
<p>Anzeigen von KW<br>
<input type="text" name="von" value="<?=$field["von"]?>">
</p>
<p>Anzeigen bis KW<br>
<input type="text" name="bis" value="<?=$field["bis"]?>">
</p>
<p>Titel<br>
<input name="titel" type="text" size="60" value="<?=$field["titel"]?>">
</p>
<p>Text<br>
<textarea name="text" cols="45" rows=8><?=$field["text"]?></textarea>
</p>
<input type="submit" name="Submit" value="Speichern">
</p>
</form>
<p> </p>
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><
<a href="javascript:history.back();">Zurück zur Übersicht</a></font></p>
<?
//Ende des If-Blocks
}
?>
|

02-10-2009, 10:09
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.309
|
|
Mal das probiert:
PHP-Code:
value="<?php echo $id; ?>"
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

02-10-2009, 10:35
|
|
stocki
Registrierter Benutzer
|
|
Registriert seit: Jul 2004
Beiträge: 12
|
|
Hallo Peter
Danke für die schnelle Anwort. Leider hat die Änderung noch nichts gebracht. In der URL wir folgendes angezeigt beim Aufbau der EDIT-Seite: ../gartenkalender/edit.php?id=9
Das Änderungsformular bleibt aber leider leer.
|

02-10-2009, 10:42
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.309
|
|
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

02-10-2009, 13:24
|
|
stocki
Registrierter Benutzer
|
|
Registriert seit: Jul 2004
Beiträge: 12
|
|
Vielen Dank, es funktioniert...
Habe die Zeile in
Code:
if ($_GET['id'] > 0)
geändert.
|

04-10-2009, 21:09
|
|
stocki
Registrierter Benutzer
|
|
Registriert seit: Jul 2004
Beiträge: 12
|
|
Hallo, leider ist das Problem nur zum Teil gelöst. Wenn ich den Datensatz zum editieren aufrufe, wird der richtige Datensatz angezeigt. Dann ändere ich den Datensatz und drücke auf aktualisieren. Edit_save.php wird gestartet. Leider wird der Satz nicht aktualisiert sondern es wird ein neuer Datensatz ohne Inhalt angelegt. Was mache ich falsch. Sitze schon Stunden vor dem Problem. Könnt ihr mir einen Tipp geben. Danke
Hier der Code von edit_save.php:
Code:
<?
$id = $_POST['id'];
if (!$id) {
$sql = "INSERT INTO tb_kalender (titel,text) VALUES ('$titel','$text')";
echo $sql . "<BR>";
$dbresult = mysql_query($sql) or die("SQL-Query fehlgeschlagen: " . mysql_error());
$id = mysql_insert_id ();
echo ("Neue ID ist $id<br>");
}
if ($id > 0) {
$sql = "UPDATE tb_kalender SET titel='$titel',text='$text',von='$von',bis='$bis' WHERE ID='$id'";
echo $sql ."<br>";
$dbresult = mysql_query($sql) or die("SQL-Query fehlgeschlagen: " . mysql_error());
}
echo "Datensatz gespeichert!";
// Umleiten zur Übersicht nach 10 Sekunden
echo '<META http-equiv="refresh" content="3;URL=liste.php">';
?>
|

04-10-2009, 21:16
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von stocki
Hallo, leider ist das Problem nur zum Teil gelöst. Wenn ich den Datensatz zum editieren aufrufe, wird der richtige Datensatz angezeigt. Dann ändere ich den Datensatz und drücke auf aktualisieren. Edit_save.php wird gestartet. Leider wird der Satz nicht aktualisiert sondern es wird ein neuer Datensatz ohne Inhalt angelegt.
|
Natürlich - die Ursache dieses Problems ist die gleiche wie vorher bei der ID.
Du setzt das, was du aus dem Link von Kropff gelernt haben solltest, nicht konsequent für den Rest des Scriptes um.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

04-10-2009, 22:21
|
|
stocki
Registrierter Benutzer
|
|
Registriert seit: Jul 2004
Beiträge: 12
|
|
Ich schaffe es leider nicht.
Wäre sehr froh um einen Hinweis. Danke
|

04-10-2009, 22:31
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von stocki
Ich schaffe es leider nicht.
|
Na dann solltest du deine Skills-Angaben auf deiner Webseite aber mal überdenken ...
Zitat:
|
Wäre sehr froh um einen Hinweis. Danke
|
Die Daten, die du in die Datenbank eintragen willst, kommen ebenso von ausserhalb, wie die ID, um die es anfangs ging.
Also müssen sie auch analog zu dieser in Empfang genommen werden.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|