Envoyer l'état des checkbox à la BDD
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Malgré des heures passées à suivre des tutos sur l'envoi de l'état des checkbox dans ma BDD SQL, je ne parviens toujours pas à ma fin.
Ma page :
J'ai 4 sections type Fieldset qui contiennent chacun 6 checkbox, 1 menu déroulant et un champ texte.
Ma BDD:
1 champ par checkbox. La valeur par défaut est NULL.
Mon code :
envoi1 est le name de mon bouton submit
$SMARTJOG est le name de mes checkbox
Quel qu'un d'aguéri dans ce domaine peut-il m'éclairer ?
Merci
Romain
Malgré des heures passées à suivre des tutos sur l'envoi de l'état des checkbox dans ma BDD SQL, je ne parviens toujours pas à ma fin.
Ma page :
J'ai 4 sections type Fieldset qui contiennent chacun 6 checkbox, 1 menu déroulant et un champ texte.
Ma BDD:
1 champ par checkbox. La valeur par défaut est NULL.
Mon code :
if($_POST['envoi1']){
$SMARTJOG - $_POST['SMARTJOG'];
foreach ($SMARTJOG as $smart1) {
mysql_query("UPDATE INTO etats_films VALUES('$smart1')")or exit(mysql_error());
}
}
<form method="POST" action="modif-etat-film.php">
<input type="checkbox" id="checkbox-smartjog-1" name="SMARTJOG[]" class="regular-checkbox big-checkbox" />VO <label for="checkbox-smartjog-1"></label>
<input type="checkbox" id="checkbox-smartjog-2" name="SMARTJOG[]" class="regular-checkbox big-checkbox" />VOSTF <label for="checkbox-smartjog-2"></label>
<input type="checkbox" id="checkbox-smartjog-3" name="SMARTJOG[]" class="regular-checkbox big-checkbox" />3D <label for="checkbox-smartjog-3"></label>
<input type="checkbox" id="checkbox-smartjog-4" name="SMARTJOG[]" class="regular-checkbox big-checkbox" />SME <label for="checkbox-smartjog-4"></label>
<input type="checkbox" id="checkbox-smartjog-5" name="SMARTJOG[]" class="regular-checkbox big-checkbox" />2D <label for="checkbox-smartjog-5"></label>
<input type="checkbox" id="checkbox-smartjog-6" name="SMARTJOG[]" class="regular-checkbox big-checkbox" />VI <label for="checkbox-smartjog-6"></label>
<br>
<HR size=2 align=center width="100%">
<input type="text" id="date-smartjog" placeholder="DatePicker" size="10" maxlength="10">
<input type="submit" value="OK">
</form>
envoi1 est le name de mon bouton submit
$SMARTJOG est le name de mes checkbox
Quel qu'un d'aguéri dans ce domaine peut-il m'éclairer ?
Merci
Romain
A voir également:
- Envoyer l'état des checkbox à la BDD
- Remettre pc etat usine - Guide
- Envoyer video leboncoin - Forum Réseaux sociaux
- Etat disque dur - Télécharger - Informations & Diagnostic
- Impossible d'envoyer messenger - Forum Facebook Messenger
- Etat batterie pc portable - Guide
6 réponses
Salut,
tu fais ça :
Tu voulais pas plutôt faire ça :
La syntaxe de ta requête n'est pas bonne non plus, tu mélanges l'insert et l'update
tu fais ça :
$SMARTJOG - $_POST['SMARTJOG'];
Tu voulais pas plutôt faire ça :
$SMARTJOG = $_POST['SMARTJOG'];
La syntaxe de ta requête n'est pas bonne non plus, tu mélanges l'insert et l'update
Salut,
Merci pour ta réponse.
En effet, pour le égal c'est une erreur de ma part.
En revanche pour l'UPDATE, je n'utilises pas l'INSERT car ce sont des checkbox qui seront amenés à être modifiés de temps à autres.
Mon erreur actuelle est celle-ci :
Column count doesn't match value count at row 1
Je pense que c'est dans ma requête que ça berdouille.
Je bloque lorsque je dois renseigner mes "VALUES".
Je dois toutes les déclarer comme ça avant peut-être ?
$etat_smartjog_vf=$_POST['etat_smartjog_vf'];
$etat_smartjog_vo=$_POST['etat_smartjog_vo'];
Merci pour ta réponse.
En effet, pour le égal c'est une erreur de ma part.
En revanche pour l'UPDATE, je n'utilises pas l'INSERT car ce sont des checkbox qui seront amenés à être modifiés de temps à autres.
Mon erreur actuelle est celle-ci :
Column count doesn't match value count at row 1
Je pense que c'est dans ma requête que ça berdouille.
Je bloque lorsque je dois renseigner mes "VALUES".
Je dois toutes les déclarer comme ça avant peut-être ?
$etat_smartjog_vf=$_POST['etat_smartjog_vf'];
$etat_smartjog_vo=$_POST['etat_smartjog_vo'];
Non, tu fais un mix entre la syntaxe de l'update et la syntaxe de l'insert, donc la syntaxe est fausse.
Regarde : https://www.w3schools.com/sql/sql_update.asp
Regarde : https://www.w3schools.com/sql/sql_update.asp
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai réessayé d'une autre manière, toujours sans résultat. (Mais aucune erreur renvoyée)
Ici je stocke mes values dans un array :
Des idées sur ce qui peut bloquer ?
Ici je stocke mes values dans un array :
<?php
$chkbox = array('etat_smartjog_vo', 'etat_smartjog_vf', 'etat_smartjog_3d');
if(isset($_POST['envoi']))
{
foreach($chkbox as $selection )
{ if(in_array($selection, $SMARTJOG))
{ $values[ $selection ] = 1; }
else
{ $values[ $selection ] = 0; }
} // end of foreach.
$sql = "INSERT INTO etats_films (etat_smartjog_vo, etat_smartjog_vf, etat_smartjog_3d) VALUES({$values['etat_smartjog_vo']}, {$values['etat_smartjog_vf']}, {$values['etat_smartjog_3d']})"or die(mysql_error());
mysql_query($sql);
}
?>
Des idées sur ce qui peut bloquer ?