Ceci est ma première tentative de publication de plusieurs enregistrements pour une colonne de table unique et aurait besoin d'aide.Créer un tableau à partir du formulaire et mettre à jour mysql
D'abord, comment puis-je publier ces enregistrements dans un tableau?
<?php
<form action="set_order.php" method="POST">
<table>
<tr>
$query = mysql_query("SELECT * FROM table ORDER BY order");
while ($result = mysql_fetch_assoc($query)) {
?>
<td><?php echo $result['order']; ?></td> //show current order
<td><input type="text" name="order[]" value="<?php echo $result['order']; ?>" /></td> //input new order
<td><input type="hidden" name="id[]" value="<?php echo $result['id']; ?>" /></td> //send related id
</tr>
<tr>
<td colspan ="2"><input type="submit" value="save" />
</tr>
</table>
</form>
La deuxième question est de savoir comment insérer un tableau dans une table.
table
id | order
1 | 3
2 | 4
3 | 2
4 | 1
Je trouve ceci: Post array from form to update mysql table
<?php
foreach ($_POST['id'] as $id) {
$order = $_POST['order']; // here is the problem
echo $id . ',' . $order . '<br />';
}
?>
Mais je ne peux pas obtenir le résultat à l'aide d'ECHO.
je reçois:
1, Array
2, Array
3, Array
4, Array
Si je peux faire qui fonctionne, je pense que je peux réussir à mettre à jour la table en conséquence avec FOREACH.
Merci. Mais comment puis-je avoir deux boucles travaillant ensemble? Quelque chose comme: foreach (($ _POST ['id'] as $ id) ET ($ _POST ['commander'] comme $ order)) { faire quelque chose} –
Non, ce serait plus comme foreach ($ list1 comme elem1) { foreach ($ list2 comme elem2) { do_something_with_elem1_and_elem2(); } } – Joren