Guten Tag!
Ich bin dabei ein Script zu schreiben, mit dem ich einen Datensatz aus einer
Datenbank per opt box auswählen und 'rauslesen kann und der dann in input Feldern angezeigt wird.
Dieser Datensatz soll dann in den input Feldern bearbeitet werden können und anschließend wieder gespeichert werden. Ich möchte also ein Script erstellen, mit dem man Datensatze bearbeiten/ verändern kann.
Um das ganze zu veranschaulichen, ich möchte zum Beispiel, dass wenn man einen News-Beitrag erstellt, dieser verändert werden kann, sollte man einen Fehler entdecken.
Bis jetzt habe ich es nur geschafft die Daten auszuwählen und in die Felder zu laden, nun bin ich mir aber nicht sicher wie ich es schaffe, die veränderten Daten wieder zu schreiben.
Das Script sieht bislang so aus:
von meinem Verständnis her müsste ich folgendes "daten-schreibe-script" benutzen, nachdem der button "ändern" angeklickt wurde:
aber ich schaffe es einfach nicht, dass die daten übergeben werden.
Vielen Dank für Tipps und Hilfe
Gruss
Johanni
Ich bin dabei ein Script zu schreiben, mit dem ich einen Datensatz aus einer
Datenbank per opt box auswählen und 'rauslesen kann und der dann in input Feldern angezeigt wird.
Dieser Datensatz soll dann in den input Feldern bearbeitet werden können und anschließend wieder gespeichert werden. Ich möchte also ein Script erstellen, mit dem man Datensatze bearbeiten/ verändern kann.
Um das ganze zu veranschaulichen, ich möchte zum Beispiel, dass wenn man einen News-Beitrag erstellt, dieser verändert werden kann, sollte man einen Fehler entdecken.
Bis jetzt habe ich es nur geschafft die Daten auszuwählen und in die Felder zu laden, nun bin ich mir aber nicht sicher wie ich es schaffe, die veränderten Daten wieder zu schreiben.
Das Script sieht bislang so aus:
PHP:
<?php
include("../include.php");
doDB();
if (!$_POST) {
//get parts of records
$get_list_sql = "SELECT id,
CONCAT_WS(', ', name) AS display_name, DATE_FORMAT(date_added, '%e.%c.%Y') AS fmt_date_added
FROM alben ORDER BY date_added DESC";
$get_list_res = mysqli_query($mysqli, $get_list_sql) or die(mysqli_error($mysqli));
if (mysqli_num_rows($get_list_res) < 1) {
//no records
$display_block .= "
<table width=770 height=220 cellpadding=0 cellspacing=0 border=0>
<tr>
<td align=center width=770 heights=220>
<font class=fett>Keine Einträge zum ändern vorhanden!</font>
</td>
</tr>
</table>";
} else {
//has records, so get results and print in a form
$display_block .= "
<table width=770 height=220 cellpadding=0 cellspacing=0 border=0>
<tr>
<td align=center width=770 heights=220>
<font class=fett>Ein Album ändern</font>
<br><br><br>
<form method=\"post\" action=\"".$_SERVER["PHP_SELF"]."\">
<font class=norm>Wähle ein Album:</font><br/>
<select name=\"sel_id\">
<option value=\"\">-- Wähle --</option>";
while ($recs = mysqli_fetch_array($get_list_res)) {
$id = $recs['id'];
$display_name = stripslashes($recs['display_name']);
$date_added = $recs['fmt_date_added'];
$display_block .= "<option value=\"".$id."\">".$date_added." , ".$display_name."</option>";
}
$display_block .= "
</select>
<p><input type=\"submit\" name=\"submit\" value=\"daten laden\"></p>
</form>
</td>
</tr>
</table>";
}
//free result
mysqli_free_result($get_list_res);
} else if ($_POST) {
//check for required fields
if ($_POST["sel_id"] == "") {
header("Location: chentry.php");
exit;
}
//issue queries
$get_master_sql = "SELECT name, description, date FROM alben WHERE id = '".$_POST["sel_id"]."'";
$get_master_res = mysqli_query($mysqli, $get_master_sql) or die(mysqli_error($mysqli));
while ($entry_info = mysqli_fetch_array($get_master_res)) {
$ch_name = ($entry_info['name']);
$ch_text = ($entry_info['description']);
$ch_date = ($entry_info['date']);
}
mysqli_close($mysqli);
$display_block = "
<table width=779 height=220 cellpadding=0 cellspacing=0 border=0>
<tr>
<td align=center width=380 heights=220>
<font class=fett>Richtiger Datensatz?</font><br><br>
<form method=\"post\" action=\"?.php\">
<input type=\"text\" name=\"new_name\" size=\"30\" maxlength=\"75\" value=$ch_name><input type=\"text\" name=\"new_date\" size=\"30\" maxlength=\"75\" value=$ch_date><br>
<textarea name=\"new_text\" cols=\"27\" rows=\"10\" wrap=\"virtual\">$ch_text</textarea><br>
<p><input type=\"submit\" name=\"submit\" value=\"ändern\"></p>
</form>
</td>
</tr>
</table>";
}
?>
<html>
<head>
<style type=text/css>
.fett {font-family:verdana; color:#CC0000;font-size:10pt; font-weight:bold; text-decoration:none}
.norm {font-family:verdana; color:#666666;font-size:8pt; text-decoration:none}
.small {font-family:verdana; color:#CC0000;font-size:7pt; text-decoration:none}
a{font-family:verdana; color:#666666;font-size:8pt; text-decoration:none}
</style>
</head>
<body>
<?php echo $display_block; ?>
</body>
</html>
von meinem Verständnis her müsste ich folgendes "daten-schreibe-script" benutzen, nachdem der button "ändern" angeklickt wurde:
PHP:
//add to table
$add_master_sql = "INSERT INTO alben (name, description, date) VALUES ('".$_POST["name"]."', '".$_POST["description"]."', '".$_POST["date"]."') WHERE id='".$_POST["sel_id"]."' ";
$add_master_res = mysqli_query($mysqli, $add_master_sql)
or die(mysqli_error($mysqli));
aber ich schaffe es einfach nicht, dass die daten übergeben werden.
Vielen Dank für Tipps und Hilfe
Gruss
Johanni