Récupération de checkbox en "foreach"
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonsoir,
Je me tourne vers vous en dernier recours car mes nombreuses recherches sur la toile ne m'ont pas aidées...
J'ai plusieurs checkbox dans une page HTML/PHP et je souhaite enregistrer la valeur de chacun dans ma BDD via MySQL.
Problème --> PHP enregistre la valeur de la dernière case cochée.
Voici mon code :
Comment différencier la variable $valeur pour que chaque champ ait sa propre valeur ?
Je me tourne vers vous en dernier recours car mes nombreuses recherches sur la toile ne m'ont pas aidées...
J'ai plusieurs checkbox dans une page HTML/PHP et je souhaite enregistrer la valeur de chacun dans ma BDD via MySQL.
Problème --> PHP enregistre la valeur de la dernière case cochée.
Voici mon code :
<?php if(isset($_POST["envoi"])) { $valeur = $_POST['$SMARTJOG']; $insert= (isset($_POST["SMARTJOG"]))? $_POST["SMARTJOG"]:array(); //pour récupérer toutes les valeurs cochées des checkbox foreach($insert as $SMARTJOG => $valeur) //requête dans la table $sql = "UPDATE etats_films SET etat_smartjog_vo='$valeur' , etat_smartjog_vf='$valeur', etat_smartjog_3d='$valeur' WHERE id='$id'"; mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); } ?> <input type="checkbox" id="checkbox-smartjog-1" name="SMARTJOG[]" class="regular-checkbox big-checkbox" value="1"/>VO<label for="checkbox-smartjog-1"></label> <input type="checkbox" id="checkbox-smartjog-2" name="SMARTJOG[]" class="regular-checkbox big-checkbox" value="2"/>VF<label for="checkbox-smartjog-2"></label> <input type="checkbox" id="checkbox-smartjog-3" name="SMARTJOG[]" class="regular-checkbox big-checkbox" value="3"/>3D<label for="checkbox-smartjog-3"></label>
Comment différencier la variable $valeur pour que chaque champ ait sa propre valeur ?
A voir également:
- Récupérer plusieurs valeurs checkbox php
- Récupérer au terminal de fret - Forum Consommation & Internet
- Recuperer message whatsapp supprimé - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un compte facebook piraté - Guide
- Comment recuperer une video sur youtube - Guide
6 réponses
Bonjour
Tu n'enregistres pas les valeurs de chacun, tu fais toujours une même mise à jour car ton UPDATE a une condition WHERE id='$id'.
Tu fais très probablement bien toutes les mises à jour, mais comme tu les fais toutes sur le même enregistrement, normal que tu ne voies que la dernière valeur.
Il y a un problème de logique dans ce que tu cherches à faire. Il faut peut-être que tu balayes ton formulaire pour insérer les lignes correspondant à des options nouvellement cochées, et supprimer de la base les lignes correspondant à des options qui ne sont plus cochées. Mais je dis ça sans savoir ce que tu cherches vraiment à faire.
Tu n'enregistres pas les valeurs de chacun, tu fais toujours une même mise à jour car ton UPDATE a une condition WHERE id='$id'.
Tu fais très probablement bien toutes les mises à jour, mais comme tu les fais toutes sur le même enregistrement, normal que tu ne voies que la dernière valeur.
Il y a un problème de logique dans ce que tu cherches à faire. Il faut peut-être que tu balayes ton formulaire pour insérer les lignes correspondant à des options nouvellement cochées, et supprimer de la base les lignes correspondant à des options qui ne sont plus cochées. Mais je dis ça sans savoir ce que tu cherches vraiment à faire.