par
Ryle » 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) ...
}
Le foreach() va simplement parcourir les élément du tableau "un à un" [size=59](dixit M. Rocard)[/size]
[php]$tab = array (1, 2, 5);
foreach ($tab as $val) {
...
}[/php]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 :
[php]$_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'
);[/php]
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 :
[php]foreach ($_POST['cb'] as $val) {
$champ1 = $_POST['champ1'][$val];
...
$sql = ...
mysql_query($sql) ...
}[/php]