Hallo, ich bin nicht gerade eine Kanone was Datenbanken und PHP angeht, habe mich trotzdem mal bei gemacht etwas zu programmieren. Leider komme ich gerade nicht weiter, daher erhoffe ich mir hier mal von euch etwas Hilfe.
Zum Thema.
Ich habe eine Datenbank mit 3 Tabellen. Die Abfrage funktioniert. Und alles wird mir auch angezeigt.
Jetzt möchte ich diese Tabellen über eine Bearbeitungsseite "updaten" Und genau da hab ich gerade einen hänger...
Das Updateprinzip funktioniert auch soweit-nur leider werden alle Zeilen mit den neuen Inhalten beschrieben und nicht nur die jeweilige die ich gerne möchte.
Hier mal der Code für die Anzeige der DB und der Code für die Eingabemaske.
Anzeige mit Bearbeitenbutton für jede Zeile:
PHP-Code:
<html>
<head>
<title>Tabelle bearbeiten</title>
</head>
<body>
<?php
// Verbindung zur Datenbank herstellen
require_once "dbconnect.php";
// übergebene Daten zurück in die Datenbank schreiben
if (isset($_POST['submit_eingabemaske'])) // Submit-Schaltfläche der Eingabemaske wurde betätigt
{
// SQL-Kommando: Ändern von Einträgen
$sql="UPDATE kennung k, tagung t, verantwortlicher v SET kkennung='$_POST[kkennung]', kanzahl='$_POST[kanzahl]', currentlogin='$_POST[currentlogin]', passwort='$_POST[passwort]', status='$_POST[status]', idkennung='$_POST[idkennung]', idtagung='$_POST[idtagung]', tname='$_POST[tname]', startdate='$_POST[startdate]', enddate='$_POST[enddate]', beantragungsrate='$_POST[beantragungsrate]' , vname='$_POST[vname]', name='$_POST[name]', mail='$_POST[mail]', tel='$_POST[tel]'
WHERE k.id = t.id AND k.id = v.id AND t.id = v.id";
// SQL-Kommando ausführen
mysql_query($sql) or exit("Fehler im SQL-Kommando: $sql");
}
// Tabelle erneut darstellen
// SQL-Anfrage: Ergebnis ist eine vorhandene Tabelle
$sql="SELECT k.id, k.kkennung, k.kanzahl, k.currentlogin, k.passwort, k.status, k.idkennung, t.idtagung, t.tname, t.startdate, t.enddate, t.beantragungsrate, v.vname, v.name, v.mail, v.tel FROM kennung k, tagung t, verantwortlicher v WHERE k.id = t.id AND k.id = v.id AND t.id = v.id";
// Anfrage ausführen
$result=mysql_query($sql) or exit("Fehler im SQL-Kommando: $sql");
// Tabelle in HTML darstellen
echo "<table border=\"1\">\n";
while ($row=mysql_fetch_row($result))
{
echo "<tr>";
foreach ($row as $item) // jedes Element $item der Zeile $row durchlaufen
echo "<td>$item</td>";
echo "<td><a href=\"tabelle-eingabemaske.php?id=$row[0]\">bearbeiten</td>";
echo "</tr>\n";
}
echo "</table>\n";
?>
</body>
</html>
Eingabemaske:
PHP-Code:
<html>
<head>
<title>Eingabemaske</title>
</head>
<body>
<?php
// Verbindung zur Datenbank herstellen
require_once "dbconnect.php";
// SQL-Anfrage: Zeile mit der übergebenen ID wählen
$sql="SELECT k.id, k.kkennung, k.kanzahl, k.currentlogin, k.passwort, k.status, k.idkennung, t.idtagung, t.tname, t.startdate, t.enddate, t.beantragungsrate, v.vname, v.name, v.mail, v.tel FROM kennung k, tagung t, verantwortlicher v WHERE k.id = t.id AND k.id = v.id AND t.id = v.id";
// Anfrage ausführen
$result=mysql_query($sql) or exit("Fehler im SQL-Kommando: $sql");
// Formular darstellen
if ($row=mysql_fetch_row($result))
{
echo "<form method=\"post\" action=\"tabelle-bearbeiten.php\">\n";
echo "<br>ID: <input type=\"text\" name=\"id\" readonly value=\"$row[0]\">\n";
echo "<br>Kkennung: <input type=\"text\" name=\"kkennung\" value=\"$row[1]\">\n";
echo "<br>Kanzahl: <input type=\"text\" name=\"kanzahl\" value=\"$row[2]\">\n";
echo "<br>Currentlogin: <input type=\"text\" name=\"currentlogin\" value=\"$row[3]\">\n";
echo "<br>Passwort: <input type=\"text\" name=\"passwort\" value=\"$row[4]\">\n";
echo "<br>Status: <input type=\"text\" name=\"status\" value=\"$row[5]\">\n";
echo "<br>Idkennung: <input type=\"text\" name=\"idkennung\" value=\"$row[6]\">\n";
echo "<br>Idtagung: <input type=\"text\" name=\"idtagung\" value=\"$row[7]\">\n";
echo "<br>Tname: <input type=\"text\" name=\"tname\" value=\"$row[8]\">\n";
echo "<br>Startdate: <input type=\"text\" name=\"startdate\" value=\"$row[9]\">\n";
echo "<br>Enddate: <input type=\"text\" name=\"enddate\" value=\"$row[10]\">\n";
echo "<br>Beantragungsrate: <input type=\"text\" name=\"beantragungsrate\" value=\"$row[11]\">\n";
echo "<br>Vname: <input type=\"text\" name=\"vname\" value=\"$row[12]\">\n";
echo "<br>Name: <input type=\"text\" name=\"name\" value=\"$row[13]\">\n";
echo "<br>Mail: <input type=\"text\" name=\"mail\" value=\"$row[14]\">\n";
echo "<br>Tel: <input type=\"text\" name=\"tel\" value=\"$row[15]\">\n";
echo "<br><br><input type=\"submit\" name=\"submit_eingabemaske\" value=\"Abschicken\">\n";
echo "</form>\n";
}
else
echo "Fehler: ID $_GET[id] nicht vorhanden\n";
?>
</body>
</html>