Hallo ... ich habe 2 Datein (um die es geht) ...
1. hmenu.php
PHP-Code:
...
<?
// Dieser Teil generiert ein Menü im Kopf der Seite
mysql_select_db("hoehermc"); //DB auswählen
$frage = "SELECT name,link FROM hmenu"; //MySQL Frage in $frage packen
$result = mysql_query($frage); //Ergebniss der Frage in $result packen
while($row = mysql_fetch_object($result)){
$name = $row->name; // $name befüllen
$link = $row->link; //$link befüllen
echo "<span><a href=../".$link."> ".$name."</span>"; //Menüpunkt ausgeben
}
?>
...
<?
mysql_select_db("hoehermc");
$frage = "SELECT * FROM hmenu"; //Alles aus der table "hmenu" wählen ... also id, link, name
$result = mysql_query($frage);
echo "<form action='hmenu_update.php' method='POST'>"; //Formular definieren mit Method= POST
while($row = mysql_fetch_object($result)){
$name = $row->name; //$name befüllen
$link = $row->link; //$link befüllen
$id = $row->id; //$id befüllen
echo "<fieldset><legend>Menüpunkt ".$id."</legend>";
echo "<label for='name[".$id."]'>Name: </label><input name='name[".$id."]' type='text' size='40' maxlength='30' value='".$name."' /><br />"; // hier wird ein input Feld für name generiert mit name=$name[$id]
echo "<label for='link[".$id."]'>Link: </label><input name='link[".$id."]' type='text' size='40' maxlength='100' value='".$link."' />"; // das gleich mit link
echo "<input name='id[".$id."]' type='hidden' value='".$id."' />"; //und id per hidden feld übergeben
echo "</fieldset>";
}
//das ganze wird dann einfach per submit gesendet
?>
...
und die 2.
PHP-Code:
<?
//Wie muss es nun hier aussehen damit ich aus dem dynamisch generierten Fomrular das per POST gesendet wurde die einzelnen "Datensätze" nehmen kann und die DB Update?!???
mysql_select_db("hoehermc");
foreach($_POST['name'] as $key => $value){ // hier weiss ich nicht wirklich weiter ...
$name = $value;
mysql_query("UPDATE `hmenu` SET `name` = '".$name."',`link` = '".$link."' WHERE `id` = '".$id."' LIMIT 1");
}
?>
nun zum Problem ... wie man sieht, wird das Formular dynamisch aus der DB generiert, je nachdem wieviel Datensätze vorhanden sind.
Das funktioniert ja auch alles Prima solange ich nur Daten aus der Datenbank herausholen und anzeigen möchte.
Das ganze geht in ein Formular wo man die Daten auch verändern kann
und an eine zweite Seite gesendet.
Aber ich bekomme es nicht so gebacken das der Inhalt des enstandenen $_POST an die foreach schleife geht.
Irgendwie komm ich mit dem Syntax von "foreach" nicht wirklich klar, aber egal wo ich gesucht habe, ich habe kein equivalentes Beispiel gefunden das erkennen lassen würde wie man die Daten aus dem POST Array herausbekommt.
Also die Grundsätzlich Frage ist ... wie bekomme ich aus einem dynamisch
generierten Formular das per POST gesendet wird die Datensätze in eine Schleife die mit jeden Wert gibt so das ich diesen weiterverarbeiten kann.
Wäre wirklich sehr dankbar für Hilfe! ...
Ich danke schonmal im vorraus!