PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   Update eines bestehenden Datensatzes in mySQL mit PHP (http://www.selfphp.de/forum/showthread.php?t=1145)

Andibart 03.04.2002 22:10:16

Update eines bestehenden Datensatzes in mySQL mit PHP
 
Hallo Zusammen,

ich versuche mit mehreren Schritten Datensätze zu aktualiseren:
1. Anzeige aller Sätze (geht)
2. Auswahl eines Datensatzes mit Radiobutton (geht)
3. Anzeige des zu ändernden Satzes in einem Formular (geht)
4. Änderung und Übergabe an die Datei update.php (geht)
5. Schreiben der Änderungen in die Tabelle (geht nicht)


Die update.php übernimmt die Daten wie folgt.

$anfrage="update stammdaten set name='$name', vorname='$vorname', geburtsdatum='$geburtsdatum', strasse='$strasse', plz='$plz', ort='$ort', land='$land', telefon='$telefon', email='$email', eintrittsdatum='$eintrittsdatum', mitgliedskz='$mitgliedskennzeichen', kontonr='$kontonummer', blz='$blz', bank='$bank', orgkz='$orgkz' WHERE id='$radio';";

Ich weiß, daß die Daten richtig an update.php übergeben werden, schaffe es aber nicht, sie zu schreiben, obwohl keine Fehlermeldung kommt.

Kann mir jemand helfen? Vor diesem Ansatz hatte ich es so versucht: $anfrage=update stammdaten set ('$name', ...). Ging aber auch nicht.

Danke schonmal!

PS. Bin Newbie, also bitte nicht mit der Antwort überfordern *g*

Matthias 04.04.2002 00:23:11

Hi

wenn du nach deiner Anfrage auch noch ein

mysql_query($anfrage);

stehen hast müßte es klappen.

Mach besser auch noch das ; nach id='$radio' weg.

Matthias

Andibart 04.04.2002 20:18:09

Hallo Matthias,

das funktioniert jetzt auch soweit. Habe auch das eigentliche Problem entdecken können. Die id=$radio wird nicht übergeben. Wenn ich die where-Klausel weglasse, habe ich danach identische Daten, weil dann alle überschrieben werden.

In das aufrufende Form statt <form action="update.php" method="post"> <form action="update.php?id=$radio" method="post"> zu schreiben geht leider nicht.

Kannst Du mir einen Tipp geben, wie ich die Variable mitübergebe?

Andibart 05.04.2002 02:13:48

Moin,

hat sich erledigt, kriege die Variable jetzt rüber... Merke, wenn die Anzeige der Variblen in der einen Datei nicht erfolgt, wird sie für die andere nicht sichtbar...oder so ähnlich. Auf jeden Fall geht es jetzt!

mr.jones 19.04.2008 19:36:55

AW: Update eines bestehenden Datensatzes in mySQL mit PHP
 
Ist zwar schon ewig alt der Thread hier aber ich hab das gleiche Problem..

Ich kann irgendwie machen was ich will, aber mein Datensatz wird nicht geupdated :(

update.php
PHP-Code:

<?php

include("connect.php");

$kdn=$_POST['kdn'];
$vorna=$_POST['vorna'];
$nachn=$_POST['nachn'];
$stra=$_POST['stra'];
$tel=$_POST['tel'];
$plz=$_POST['plz'];
$ort=$_POST['ort'];
$sendy $_POST['sendy'];

$sqlupdate "UPDATE `kundenliste` 
              SET 
                  `naname`='$nachn',
                  `vorname`='$vorna',
                  `strasse`='$stra',
                  `plz`='$plz',
                  `ort`='$ort',
                  `telefon`='$tel'
              WHERE 
                  `kdnummer`='$kdn'"
;

$update mysql_query($sqlupdate);

if (
$update == TRUE){
echo 
"Der Datensatz wurde wiefolgt geändert: " $vorna ." " $nachn ." " $stra ." " $tel ." " $plz ." " $ort "<br><br>";
}
else{
echo 
"Datensatz konnte nicht aktualisiert werden!" . ('.mysql_error().');
}
?>

Die Daten werden von einem Formular übergeben, die Variablen sind alle voll.
Auch $update ergibt TRUE, sodass kein Fehler gemeldet wird. Auch die echo Ausgabe "Der Datensatz wurde wiefolgt geändert:.... klappt und die Änderung wird angezeigt,aber in der Datenbank kommt einfach keine Änderung.... (Verbindung steht,Tabelle und Datensatz sind einwandfrei)

Wo ist der Fehler? Leider hat Andibart ja nicht verraten wo es dann bei ihm hing.

doppelklick 19.04.2008 21:19:32

AW: Update eines bestehenden Datensatzes in mySQL mit PHP
 
Versuchs mal so:

PHP-Code:

$sqlupdate "UPDATE kundenliste 
              SET 
                  naname='$nachn', 
                  vorname='$vorna', 
                  strasse='$stra', 
                  plz='$plz', 
                  ort='$ort', 
                  telefon='$tel' 
              WHERE  
                  kdnummer='$kdn'"


doppelklick

mr.jones 20.04.2008 17:15:15

AW: Update eines bestehenden Datensatzes in mySQL mit PHP
 
danke doppelclick.
Ich habe den Fehler gefunden. An dem Skript ist nichts falsch, ich hatte aber vergessen das Kundennummer-Feld wieder auf enable zu setzten (hatte 'disabled' in html eingestellt damit diese nicht verändert wird.)

Scheinbar wird dann aber der Wert nicht übermittelt. Bisschen komisch,..aber gut.

trotzdem danke . ;)


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:32:03 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.