Einträge in einer Datenbank ändern/ löschen - Tutorial gesucht

tayke

Mitglied
Hallo,

ich übergebe mit einem Formular ein paar Daten an eine Datenbank,
diese möchte ich bei bedarf auch ändern und löschen können.
Dazu suche ich ein Tutorial, oder ist das gar nicht so umfangreich?
 
Mit welchem DBMS arbeitest Du denn?
Ich geh jetzt einfach mal von MySQL aus, bei anderen werden es wahrscheinlich die gleichen Befehle sein, aber evtl. mit etwas anderer Syntax.

Daten aendern kannst Du mit dem UPDATE Befehl, geloescht wird mit DELETE.
Beispiel fuer UPDATE
Code:
update `users` set `username`='Hugo' where `id`=10
Beispiel fuer DELETE
Code:
delete from `users` where `id`=10
 
Hi,

ja, ist eine MYSQL Datenbank.

Danke für den Code, damit habe ich mich jetzt mal versucht, komme aber leider nicht weiter, daher wäre mir eine Anleitung am liebsten.

Ich gebe die Inhalte der Datenbank in einer Liste aus und da würde ich gern jeweils einen Link hinzufügen, der dann Inhalte in ein Formular übertägt, womit ich sie dann ändern kann. Dazu noch einen Link zum löschen dahinter.
 
Hi!

Bei mir klappt das mit dem Übergeben der Variablen bzw. dem Inhalt, nachdem ich auf "Ändern" gedrückt habe, nicht.

Ich habs mal versucht so zu lösen:

(Änderungsvorschläge sind willkommen!!)

PHP:
<br /><a href="namen.php?id=1">Name hinzufügen</a>
<br /><a href="namen.php?id=2">Name ändern</a>
<br /><a href="namen.php?id=3">Name löschen</a>


<!-- Name hinzufügen -->
<?php 
if ($_GET['id'] == 1) { echo '
<form action="namen.php?id=10" name="eintrag" method="post">
<br />Vorname: <input name="vorname"  type="text">
<br />Nachname: <input name="nachname" type="text">
<br /><input type="submit" name="submit" value="Eintragen">
</form>
';} 

if ($_GET['id'] == 10) {  
if(!empty($_POST['submit'])){  
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname']; 
$query = "INSERT INTO namen (vorname, nachname) VALUES('$vorname', '$nachname')"; 
mysql_query($query) or die ("MySQL-Fehler mit $query<br>" . mysql_error()); }
echo '<p>Name wurde eingetragen!</p>';} 
?>

<!-- Name ändern -->
<?php
if ($_GET['id'] == 2) {
$sql = "SELECT * FROM namen ORDER BY id ASC"; 
$result = mysql_query($sql); 
while ($row = mysql_fetch_assoc($result)) { ?> 
<table border="1">
<tr>
<form action="namen.php?id=20" name="eintrag" method="post">
<td  width="20"><?php echo $row['id']; ?></td>
<td width="100"><?php echo $row['vorname']; ?></td>
<td width="100"><?php echo $row['nachname']; ?></td>
<td><input type="submit" name="submit" value="Ändern"></td>
</tr>
<table>
<?php }} ?>

<?php 
if ($_GET['id'] == 20) { 
if(!empty($_POST['submit'])){                        
$id = $_POST['id'];
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname']; ?> 
<form action="name.php?id=21" name="eintrag" method="post">
<input name="id" type="text" value="<?php echo $id; ?>">
<br /><input name="vorname" type="text" value="<?php echo $vorname; ?>">
<br /><input name="nachname" type="text" value="<?php echo $nachname; ?>">
<br /><input type="submit" name="submit" value="Update">
</form>
<?php }} ?>

<?php 
if ($_GET['id'] == 21) { 
if(!empty($_POST['submit'])){ 
$id = $_POST['id'];
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$query = "UPDATE namen (vorname, nachname) VALUES('$vorname', '$nachname') WHERE id = '$id' "; 
mysql_query($query) or die ("MySQL-Fehler mit $query<br>" . mysql_error()); }
echo '<p>Name wurde geändert!</p>';} 
?>

Hoffentlich steigt ihr da durch :confused:
 
Ok, aber vorher muß ich doch erst den Inhalt in die Formularfelder übergeben. Das geht doch schon schief.
 
Zurück