Hilfe beim Bearbeiten von Daten!

Ben82

Grünschnabel
Hallöchen,

kann mir jemand helfen?! Ich wollte die Daten die ich in ein php-Datei ausgebe anschließend bearbeiten.
Das mit der Ausgabe hat bisher funktioniert und mit dem löschen auch.
Nun wollte ich das wenn man auf Bearbeiten klickt sich das Formular mit den Daten einer Zeile öffnet und man sie ändern kann. Gleichzeitig sollen sich in die Daten auch in der Datenbank ändern....

Wo liegen die Fehler?!
Danke im vorraus...

Gruß,
Ben




PHP:
<?php

$mysqlhost="localhost";
$mysqluser="";
$mysqlpwd="";
$mysqldb="";


$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die("Verbindungsversuch fehlgeschlagen");

mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");


$result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());




//Daten l&ouml;schen
mysql_query("DELETE FROM test WHERE (nr='$loeschena')") or die ("Fehler löschen");

// Daten &auml;ndern
if ($edit) {
if ($submit) {
$sql = ("UPDATE FROM test SET wettbewerb='$wettbewerb', nachname='$nachname', vorname='§vorname', geburtstag='§geburtstag', strasse='§strasse', plz='§plz', ort='$ort', mail='$mail' WHERE nr='$edit'") or die ("Fehler bearbeiten");
$result = mysql_query("SELECT * FROM test");
echo "Daten f&uuml;r die NR ".$edit." wurden ge&auml;ndert";
}
else {
$sql = "SELECT * FROM test WHERE nr=$edit";
$result = mysql_query("SELECT * FROM test");
$data = mysql_fetch_array($result);
?>
<form method="post" action="<? echo $PHP_SELF ?>">
<input type=hidden name="edit" value="<? echo $data["nr"] ?>">
<table>
<tr>
	<td>Wettbewerb:</td>
	<td><input type='radio' name='form_wettbewerb' value='******'";
	if ($_POST['form_wettbewerb']=="*******") echo 'checked';

echo"> ******<br />

	<input type='radio' name='form_wettbewerb' value='*****'";
	if ($_POST['form_wettbewerb']=="*****") echo 'checked';
echo"> ********<br />

	<input type='radio' name='form_wettbewerb' value='****'";
	if ($_POST['form_wettbewerb']=="****") echo 'checked';
echo"> ********</td>
</tr>
<tr>
	<td>Nachname:</td>
	<td><input type='text' name='form_nachname' size='40' value='".$data['form_nachname']."'></td>
</tr>
<tr>
	<td>Vorname:</td>
	<td><input type='text' name='form_vorname' size='40' value='".$data['form_vorname']."'></td>
</tr>
 <tr>
	<td>Geburtsdatum:</td>
	<td><input type='text' name='form_geburtstag' size='10' value='".$data['form_geburtstag']."'>(Format: DD.MM.YYYY, z.B. 01.01.2006)</td>
</tr>
<tr>
	<td>Strasse:</td>
	<td><input type='text' name='form_strasse' size='40' value='".$data['form_strasse']."'></td>
</tr>
<tr>
	<td>PLZ:</td>
	<td><input type='text' name='form_plz' size='40' value='".$data['form_plz']."'></td>
</tr>
<tr>
	<td>Ort:</td>
	<td><input type='text' name='form_ort' size='40' value='".$data['form_ort']."'></td>
</tr>
<tr>
	<td>E-Mail:</td>
	<td><input type='text' name='form_mail' size='40' value='".$data['form_mail']."'></td>
</tr>
 <tr>
	<td colspan='2'><input type='submit' value='Abschicken' name='los'>
	<input type='reset' name='loeschen' value='Formular löschen'>
	<input type='hidden' name='gesendet' value='1'></td>
</tr>
</table>
</form>";

<html>

<body bgcolor="#333333">
<div align="center"><center>
  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse;" bordercolor="#808080" bgcolor="#EFEFEF" width="400">
<tr><td>


<b>Anmeldungen: Test</b><br />


<?php


/* Ausgabe der Ergebnisse in HTML */
echo "<table><tr><td></td><td></td><td><b>#</b></td>\n
<td><b>Datum</b></td>\n
<td><b>Wettbewerb</b></td>\n
<td><b>Nachname</b></td>\n
<td><b>Vorname</b></td>\n
<td><b>Geb.</b></td>\n
<td><b>Strasse</b></td>\n
<td><b>PLZ</b></td>\n
<td><b>Ort</b></td>\n
<td><b>E-Mail</b></td>\n
</tr>\n";

while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
   echo "\t<tr>\n";
       echo "\t\t<td><a href='admin_test.php?edit=$line[nr]'>&raquo;Bearbeiten&laquo;</a></td>\n";
       echo "\t\t<td><a href='admin_test.php?loeschena=$line[nr]'>&raquo;Löschen&laquo;</a></td>\n";
   foreach ($line as $col_value) {
       echo "\t\t<td>$col_value</td>\n";
   }
   echo "\t</tr>\n";
}
echo "</table>\n";

/* Freigeben des Resultsets */
mysql_free_result($result);
?>

<br /><br />
</table></center></div>

</body></html>
 

Julian Maicher

Erfahrenes Mitglied
PHP:
$sql = ("UPDATE FROM test SET wettbewerb='$wettbewerb', nachname='$nachname', vorname='§vorname', geburtstag='§geburtstag', strasse='§strasse', plz='§plz', ort='$ort', mail='$mail' WHERE nr='$edit'") or die ("Fehler bearbeiten");
Da ist der Fehler! Du willst ein ohnehin falsches SQL - Query an die Datenbank schicken in dem du es als der Variable $sql zuweist. Wundert mich nicht, dass das nicht klappt :)

Try this:
PHP:
$sql = "UPDATE test SET wettbewerb = '".$wettbewerb."', nachname = '".$nachname."', vorname = '".$vorname."', geburtstag = '".$geburtstag."', strasse = '".$strasse."', plz =' ".$plz."', ort = '".$ort."', mail = '".$mail."' WHERE nr = '".$edit"'";

mysql_query($sql) or die("Fehler beim Update: ".mysql_error())
 
Zuletzt bearbeitet:

Ben82

Grünschnabel
Hallo Suye,

danke für deinen Tipp.
Leider wird mir jetzt immer folgender Fehter angezeigt und das in der Zeile die ich so wie du gesagt hast geändert habe....

HTML:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING on line 32


Irgendwas stimmt noch nicht... :(

Gruß, Ben82