Hallo,
ich lese Inhalte aus einer Datenbank mit einer while-Schleife aus. In dem nächsten Schritt, wird zu jedem Datensatz eine Textarea hinzugefügt, in der weitere Daten eingegeben werden sollen.
Die textarea wird NICHT gefüllt, da kein Inhalt in der DB vorhanden.
Nun habe ich schon erfahren, dass mit Hilfe einer foreach-Schleife die Inhalte ausgelesen werden können (es sind meist mehr als nur ein Datensatz, ergo mehr als eine Textarea) und in die DB eingetragen werden.
problem ist, dass wenn ich z.B. drei Datensätze auslesen, nur der letzte geupdatet wird.
Habe schon diverse Möglichkeiten durch, komme aber irgendwie nicht auf den richtigen Zweig.
Kann mir jemand helfen?
Danke im Voraus!
//edit:
Natürlich liegt das alles in einer <form> und ich frage auch ab, ob ein Button gedrückt wurde ;)
ich lese Inhalte aus einer Datenbank mit einer while-Schleife aus. In dem nächsten Schritt, wird zu jedem Datensatz eine Textarea hinzugefügt, in der weitere Daten eingegeben werden sollen.
PHP:
while($row=mysql_fetch_array($res)){
$i++;
$sql_kat = mysql_query("SELECT name FROM kategorie WHERE id = '".$row['kategorie']."'");#Name der kategorie auslesen
$kat = mysql_fetch_object($sql_kat);
$kategorie = $kat->name;#name in variable speichern
$gesamtpreis = $row['anzahl'] * $row['preis'];
echo " <tr class='bst_tr_art'>";
#echo " <form method='post'>";
echo " <td><input type='hidden' name='id' value='".$row['id']."' readonly></td>";
echo " <td class='bst_tbl2'>".ucfirst($kategorie)."</td>";
echo " <td class='bst_tbl2'>".$row['typ']."</td>";
echo " <td class='bst_tbl2'>".$row['anzahl']."</td>";
echo " <td class='bst_tbl2''>".number_format($gesamtpreis, 2, ',', '')." €</td>";
echo " <tr class='bst_tr_art'>";
echo " <td colspan='5' class='tbl2'>";
echo " <b>Nutzenbegruendung</b> <span class='small'>(Muss ausgefuellt werden!)</span><br>";
echo " <textarea rows='3' cols='95' name='kommentar[".$i."]' class='bst_txtarea'></textarea>";
echo " </td>";
echo " </tr>";
echo " <tr>";
echo " <td colspan='5' class='tbl2'><hr></td>";
#echo " </form>";
echo " </tr>";
}
Die textarea wird NICHT gefüllt, da kein Inhalt in der DB vorhanden.
Nun habe ich schon erfahren, dass mit Hilfe einer foreach-Schleife die Inhalte ausgelesen werden können (es sind meist mehr als nur ein Datensatz, ergo mehr als eine Textarea) und in die DB eingetragen werden.
problem ist, dass wenn ich z.B. drei Datensätze auslesen, nur der letzte geupdatet wird.
PHP:
foreach($_POST['kommentar'] as $val){
$name = $_POST['vname']." ".$_POST['nname'];
mysql_query("UPDATE bestellungen SET kommentar = '".$val."', name = '".$name."' WHERE id = '".$_POST['id']." ' ") or die(mysql_error());
}
Habe schon diverse Möglichkeiten durch, komme aber irgendwie nicht auf den richtigen Zweig.
Kann mir jemand helfen?
Danke im Voraus!
//edit:
Natürlich liegt das alles in einer <form> und ich frage auch ab, ob ein Button gedrückt wurde ;)