Hallo Leute,
ich versuche gerade es hinzubekommen, das ich über ein Formular bestimmte Daten in der Datenbank bearbeiten kann, sprich wenn ich ein profil angelegt habe und sich dort zb. ein Rechtschreibfehler eingeschlichen hat. Habe ein Formular gebastelt, welches mir die Daten aus der Datenbank in einzelnen Textfeldern ausgibt, so das ich sie bearbeiten kann! Wenn ich jetzt zb. aus Mustermann den Namen Schmidt mache und dies dann abspeichere, ändert er das aber leider nicht in der Datenbank!! Habe schon einiges versucht aber leider nicht hinbekommen.
Habe mich für eine glaubich ziemlich einfache variante entschieden.
Hier erstmal der Quelltext der bearbeiten.php wo ich die daten bearbeiten kann:
[b]<h3><div align="center">Die 1. Mannschaft</div></h3>[/b]
<?php
$dbh=mysql_connect("localhost","*****","*****");
mysql_select_db("test",$dbh);
$query = mysql_query("SELECT * FROM test ORDER BY name ASC");
// daten auswählen
while($row = mysql_fetch_assoc($query)){
?>
<html>
<head>
<meta http-equiv="Content-Language" content="de">
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
</head>
<body>
<div align="left">
<table border="1" width="100%" style="border-collapse: collapse">
<tr> <td><input type="text" name="id" value="<?=$row['id'];?>"></td>
<td width="194">[b]Name:[/b]
<input type="text" name="name" value="<?=$row['name'];?>" size="20"></td>
<td width="200">[b]Geburtstag:[/b]
<input type="text" name="gbdatum" value="<?=$row['gbdatum'];?>" size="20"></td>
<td width="151">[b]Email:[/b]
<input type="text" name="email" value="<?=$row['email'];?>" size="20"></td>
<td>
<input type="text" name="bild" value="<?=$row['bild'];?>" size="20"></td>
</tr>
<tr>
<td width="194">[b]Vorname:[/b]
<input type="text" name="vname" value="<?=$row['vname'];?>" size="20"></td>
<td width="200">[b]Wohnort:[/b]
<input type="text" name="wohnort" value="<?=$row['wohnort'];?>" size="20"></td>
<td width="151">[b]Vereine:[/b]
<input type="text" name="vereine" value="<?=$row['vereine'];?>" size="20"></td>
</tr>
<tr>
<td width="194">[b]Position:[/b]
<input type="text" name="position" value="<?=$row['position'];?>" size="20"></td>
<td width="200">[b]Hobbies:[/b]
<input type="text" name="hobbies" value="<?=$row['hobbies'];?>" size="20"></td>
<td width="151"></td>
</tr>
<tr>
<td width="194">[b]In Rösberg seit:[/b]
<input type="text" name="seit" value="<?=$row['seit'];?>" size="20"></td>
<td width="200">[b]Sternzeichen:[/b]
<input type="text" name="sternzeichen" value="<?=$row['sternzeichen'];?>" size="20"></td>
<td width="151"></td>
</tr>
<tr>
<td width="194">[b]ICQ:[/b]
<input type="text" name="icq" value="<?=$row['icq'];?>" size="20"></td>
<td width="200">[b]MSN:[/b]
<input type="text" name="msn" value="<?=$row['msn'];?>" size="20"></td>
<td width="151"></td>
</tr>
</table>
</div>
</body>
[url='updatespeichern.php?updatespeichern&action=update&test_id=<?=$row['id']?>']update[/url]
</html>
<?}?>
Alles anzeigen
Hier der Quelltext zur updatespeichern.php mit welcher die Daten in der Datenbank geändert werden sollen:
<?php
$dbh=mysql_connect("localhost","root","Telefonbuch");
mysql_select_db("test",$dbh);
// hier musst du dann eine verbindung zur datenbank herstellen, und die entsprechenden variablen einfügen (pw, username, datenbankname etc)
mysql_query("UPDATE
test
WHERE
`id`= '{$_GET['id']}'
LIMIT 1
");
header("Location: bearbeiten.php");
// mit $_POST['feldname'] werden die variablen abgerufen, und unter name = (z.B.) gespeichert; einfach alle dort nach dem gleichen muster eintragen; nicht vergessen, dass nach der letzten zeile dort kein Komma mehr kommt!!!
?>
</body>
</html>
Alles anzeigen
Über den Link: ?>"]update soll die ID des entsprechenden Datensatzes an die updatespeichern.php weitergegeben werden, damit auch nur die entsprechenden daten geändert werden, die mit der ID 1 verknüpft sind.
Nur leider ändert er die Daten nicht! Sitze nun seit ca. 2 std. daran und komme nicht weiter!
bitte help me!
schonmal vielen Dank
Gruß Burgerking