Modérateur PHPfrance |
10684 Messages
10 oct. 2007, 12:21
Le foreach() va simplement parcourir les élément du tableau "un à un"
(dixit M. Rocard)
$tab = array (1, 2, 5);
foreach ($tab as $val) {
...
}
Cette instruction va parcourir le tableau $tab et stocker dans $val la valeur trouvée pour chaque itération. Tu vas donc avoir $val==1, puis $val==2 et enfin $val==5. C'est ce que va te retourner $_POST['cb'] : uniquement les valeurs des cases qui ont été cochées.
A côté de cela, tu vas avoir un tableau de résultat pour chaque champ auquels tu auras collé des [] dans le nom. Et puisque l'id aura été spécifé entre les crochets, ces tableaux seront indéxés :
$_POST['champ1'] => array (
1 => 'valeur de champ1 à la ligne 1',
2 => 'valeur de champ1 à la ligne 2',
3 => 'valeur de champ1 à la ligne 3',
4 => 'valeur de champ1 à la ligne 4',
5 => 'valeur de champ1 à la ligne 5'
);
Il te suffit donc de récupérer les valeur de $_POST['champ1'][1], $_POST['champ1'][2] et $_POST['champ1'][5] pour avoir les valeur associées aux cases qui ont été cochés et construire ta requête de mise à jour :
foreach ($_POST['cb'] as $val) {
$champ1 = $_POST['champ1'][$val];
...
$sql = ...
mysql_query($sql) ...
}
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...