Checkbox et bdd

Fermé
Profil bloqué - 25 oct. 2010 à 15:48
 Twinpics - 26 oct. 2010 à 17:12
Bonjour,

Je souhaiterais savoir si il est possible de faire un formulaire composé de checkbox sur mon site , si celle si sont cochées les enregistrer dans ma BDD et ainsi afficher aux visiteurs uniquement les valeurs des checkbox validées ?? J'ai essayé d'être clair mais je ne sais si pas si j'y suis parvenu ...

8 réponses

MastercroW Messages postés 1095 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
Modifié par MastercroW le 25/10/2010 à 16:03
Bonjour, c'est très simple !

Il suffit de mettre en valeur (value) de ta Checkbox le texte qui est suivit. Une fois qu'elle est coché, tu procède au traitement en postant ta Checkbox.
Exemple code HTML :
<input type="checkbox" name="spaghetti" value="spaghetti"/> 
Quelle repas préférez-vous manger ?

Exemple code PHP :

$reponseSpaghetti = mysql_real_escape_string(htmlspecialchars(trim($_POST['spaghetti']) ) ); 

//mysql_real_escape_string ... c'est pour sécurisé tes données lors de l'inscription  ;)




J'espère d'être utile à ta demande.
0
Profil bloqué
25 oct. 2010 à 16:04
Merci de ta réponse ... je vais essayer cela .... mais alors il faut que je crée un champ dans ma table pour chaque checkbox ??? PArce que je compte en avoir beaucoup ....
0
MastercroW Messages postés 1095 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
25 oct. 2010 à 16:06
J'oubli comme sa tu n'aura à ne plus rien faire (pour le traitement pour mettre en base de donnée).

mysql_query("INSERT INTO table (Plats) VALUES ('$reponseSpaghetti')") or die (mysql_error() );


Si tu ne comprend pas, je te conseil d'aller sur le site du zéro !
0
MastercroW Messages postés 1095 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
Modifié par MastercroW le 25/10/2010 à 16:19
Heu j'ai parler trop vite désolé, je me rectifie :

HTML :

  <input type="checkbox" name="plats" value="spaghetti"/> Spaghetti 
  <input type="checkbox" name="plats" value="pates"/> Pâtes 


PHP:
$reponse = mysql_real_escape_string(htmlspecialchars(trim($_POST['plats']) ) ); 
mysql_query("INSERT INTO tatable (Plats) VALUES ('$reponse')") or die (mysql_error() );
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MastercroW Messages postés 1095 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
25 oct. 2010 à 16:17
Voilà j'espère que tu m'a compris ;)
0
Profil bloqué
25 oct. 2010 à 16:50
j'essaye tout ça , et je te tient au courant .... merci en tout cas ...
0
Bonsoir, voilà j'y suis presque, seulement lorque je sélectionne plusieurs cases , ça ne m'en affiche qu'une seule ... Ca peut venir de quoi ?

Encore merci pour ton aide ...
0
Bonsoir,

ça c'est normal car tes checkbox ne retourne pas un tableau (array) donc c'est la valeur de la dernière checkbox cochée de la liste qui est prise en compte.
HTML :
<input type="checkbox" name="plats[]" value="spaghetti"/> Spaghetti 
  <input type="checkbox" name="plats[]" value="pates"/> Pâtes 


Puis dans ton code tu parcours le tableau recueilli (array plats) avec une boucle foreach et au passage tu fais l'insertion des données dans la table de ta bdd :-)
@+
0
Merci de ta réponse ... mais je ne suis pas très calé , je n'ai donc pas tout compris

J'ai donc modifié ceci

<input type="checkbox" name="plats[]" value="spaghetti"/> Spaghetti
<input type="checkbox" name="plats[]" value="pates"/> Pâtes

Cependant la suite je ne comprends pas....

Désormais , si j'en sélectionne un ou deux, cela m'affiche "Array"
0
Par exemple :
foreach($_POST['plats'] as $key => $val) {
	echo $key .' choisis = '. $val.'<br />';
}
0
Je dois me tromper car ça ne marche pas ....

Voici mon code :

admin_convocations.html
<form method="post" action="admin_convocations.php"> 
<p> Convocations U19 </p> 
<input type="checkbox" name="joueurs[]" value="joueur1"/> joueur1
<input type="checkbox" name="joueurs[]" value="joueur2"/> joueur2
<input type="submit" value="Valider" /> 
</form> 
 


admin_convocations.php
<?php 
mysql_connect("...");
mysql_select_db("...");
{ 
$reponse = mysql_real_escape_string(htmlspecialchars(trim($_POST['joueurs']) ) ); 
mysql_query("INSERT INTO convocationsu19 (convocationsu19) VALUES ('$reponse')") or die (mysql_error() );
} 
foreach($_POST['joueurs'] as $key => $val) 
{
echo $key .' choisis = '. $val.'<br />';
}
?> 


convocations.php
<?php 
mysql_connect("...");
mysql_select_db("...");
$reponse = mysql_query("SELECT * FROM convocationsu19 ORDER BY ID DESC LIMIT 0,1"); 
mysql_close(); 
while($donnees = mysql_fetch_array($reponse)) 
{ 
echo $donnees['convocationsu19']; 
} 
?> 


Ma table s'appelle "convocationsu19" et elle possède deux champs : "id" et "convocationsu19"
0
up !
0
Non testé mais ça devrait le faire :
<?php
mysql_connect("...");
mysql_select_db("...");

if(!empty($_POST['joueurs'])) {
	foreach($_POST['joueurs'] as $key => $val) {
		$joueur = mysql_real_escape_string(htmlspecialchars(trim($val)));
		mysql_query("INSERT INTO convocationsu19 VALUES ('', $joueur)") or die (mysql_error());
	}
}
?>
0