Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/03/2006, 14h00   #1
Nouveau Membre du Club
 
Inscription : mars 2005
Messages : 130
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 130
Points : 27
Points : 27
Par défaut Récuperer valeurs d'une checkbox dans la base Mysql

Bonjour,

J'ai un peti souci pour récupere mes valeurs des checkbox dans ma base de données, je dois surment mal m'y prendre.

1) j'ai mon formulaire avec les checkbox

Code :
1
2
3
4
5
6
<form method="post" action="verif_test.php">
Equipements ménagers
	<input name="menagersFour" type="checkbox" value="">four
	<input name="menagersAspirateur" type="checkbox" value="">aspirateur
	<input name="menagersPlaque" type="checkbox" value="">plaque
</form>
Ensuite la page verif.php qui va enregister les valeurs dans ma base

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php // récupération des données du formulaires
 
$menagersFour = $_POST['menagersFour'];
$menagersAspirateur = $_POST['menagersAspirateur'];
$menagersPlaque = $_POST['menagersPlaque'];
 
 
 
$connexion = mysql_connect("");
mysql_select_db("",$connexion);
 
 
$requete = "insert into test values('',''$menagersFour','$menagersAspirateur','$menagersPlaque')";
mysql_query($requete);
 
echo "Vos données ont été envoyées !"; 
 
 
mysql_close(); ?>
Et finalement dans ma base de données mysql, j'ai mes 3 champs
menagersFour menagersAspirateur menagersPlaque



J'ai su récupérer mes données dans ma base pour des champs textes, des listes déroulantes mais je ne sias pas comment faire avec se checkbox.

Merci de votre aide
pod1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2006, 14h05   #2
Membre confirmé
 
Avatar de spilliaert
 
Inscription : septembre 2005
Messages : 270
Détails du profil
Informations personnelles :
Âge : 20
Localisation : Belgique

Informations forums :
Inscription : septembre 2005
Messages : 270
Points : 227
Points : 227
la valeur de $_POST ['menagersFour'] est en fait la valeur de
Code :
1
2
 
<input name="menagersFour" type="checkbox" value="VALEUR">four
donc, si tu veux stoquer dans une bdd la valeur de $_POST['menagersFour'], il faut spécifier une value dans ton input.

Ton champ mysql est de quel type?

@+
spilliaert est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2006, 14h06   #3
Membre éprouvé
 
Avatar de gofono_bass
 
Inscription : décembre 2005
Messages : 385
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2005
Messages : 385
Points : 409
Points : 409
probleme deja abordé pas mal de fois dans le forum ....

sinon pour pouvoir récuperer des valeurs de checkbox, il faut que ces checkbox aient des valeurs!!!

Code :
1
2
3
<input name="menagersFour" type="checkbox" value="">four 
   <input name="menagersAspirateur" type="checkbox" value="">aspirateur 
   <input name="menagersPlaque" type="checkbox" value="">plaque
devrait etre
Code :
1
2
3
<input name="menagersFour[]" type="checkbox" value="four">four 
   <input name="menagersAspirateur[]" type="checkbox" value="aspirateur ">aspirateur 
   <input name="menagersPlaque[]" type="checkbox" value="plaque">plaque
edit: grilled...
__________________
mais pourquoi tu cours?
gofono_bass est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2006, 14h07   #4
Nouveau Membre du Club
 
Inscription : mars 2005
Messages : 130
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 130
Points : 27
Points : 27
Mes champs sont
varchar (50)

Merci
pod1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2006, 14h07   #5
Membre confirmé
 
Avatar de spilliaert
 
Inscription : septembre 2005
Messages : 270
Détails du profil
Informations personnelles :
Âge : 20
Localisation : Belgique

Informations forums :
Inscription : septembre 2005
Messages : 270
Points : 227
Points : 227
une petite suggestion:
Code :
1
2
3
 
IF(mysql_query($requete))
echo "Vos données ont été envoyées !";
de cette manière, la phrase("vos données ont été envoyées")apparaîtra uniquement si les données ont vraiment bien été envoyées
spilliaert est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2006, 14h08   #6
Membre habitué
 
Inscription : février 2006
Messages : 109
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 109
Points : 120
Points : 120
Il faut faire un isset() de tous tes POST !
Ensuite c'est le champ VALUES que tu vas recuperer dans les POST



Il n'y a pas une erreur ici :
Code :
1
2
3
 
$requete = "insert into test values('',''$menagersFour','$menagersAspirateur','$menagersPlaque')"; 
mysql_query($requete);
('',''$menagersFour' <== '','' !!!!
dev_php_205 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2006, 14h10   #7
Nouveau Membre du Club
 
Inscription : mars 2005
Messages : 130
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 130
Points : 27
Points : 27
J'ai testé en mettant des valeurs, cel marche mais par contre ca me renvoie array.

Comment faire pour avoir la valeur ( ex: four)?

Merci
pod1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2006, 14h13   #8
Membre confirmé
 
Avatar de spilliaert
 
Inscription : septembre 2005
Messages : 270
Détails du profil
Informations personnelles :
Âge : 20
Localisation : Belgique

Informations forums :
Inscription : septembre 2005
Messages : 270
Points : 227
Points : 227
supprime les [] dans les values, alors

ps; je n'en vois pas l'intêret de ces [] ?

[EDIT]
pour avoir la valeur, mets celle-ci dans les values:
Code :
1
2
 
<input type="checkbox" value="four">four
spilliaert est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2006, 14h16   #9
Nouveau Membre du Club
 
Inscription : mars 2005
Messages : 130
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 130
Points : 27
Points : 27
Merci beaucoup de votre rapidité dans vos aides.

Problème résolu

A bientt
pod1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2006, 14h18   #10
Membre confirmé
 
Avatar de spilliaert
 
Inscription : septembre 2005
Messages : 270
Détails du profil
Informations personnelles :
Âge : 20
Localisation : Belgique

Informations forums :
Inscription : septembre 2005
Messages : 270
Points : 227
Points : 227
de rien, mais la prochaine fois:
!!!
en plus, la réponse est dans plusieurs tutos, ici-même:
http://php.developpez.com/cours

@+
spilliaert est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2006, 14h19   #11
Membre éprouvé
 
Avatar de gofono_bass
 
Inscription : décembre 2005
Messages : 385
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2005
Messages : 385
Points : 409
Points : 409
sans les [] tu ne peux recuperer que le dernier checbox cochén donc pas tous si l'utilisateur en a coché plus d'un. je me trompe?

Pour les recuperer, il suffit ensuite de faire une boucle:

Code :
1
2
3
4
5
6
7
$tab=isset($_POST['nom_du_champ'])?$_POST['nom_du_champ']:"";
 
FOR ($i=0;$i<sizeof($tab);i++)
{
   // operations effectuée, comme insertion
 
}
mais bon, c'est vrai que comme ici, chaque checkbox a un nom différent, et donc ils ne sont pas liés c'est pas obligatoire
__________________
mais pourquoi tu cours?
gofono_bass est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2006, 14h21   #12
Membre confirmé
 
Avatar de spilliaert
 
Inscription : septembre 2005
Messages : 270
Détails du profil
Informations personnelles :
Âge : 20
Localisation : Belgique

Informations forums :
Inscription : septembre 2005
Messages : 270
Points : 227
Points : 227
Citation:
Envoyé par gofono_bass
sans les [] tu ne peux recuperer que le dernier checbox cochén donc pas tous si l'utilisateur en a coché plus d'un. je me trompe?
même avec des noms d'input différents ??
spilliaert est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2006, 14h24   #13
Membre éprouvé
 
Avatar de gofono_bass
 
Inscription : décembre 2005
Messages : 385
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2005
Messages : 385
Points : 409
Points : 409
ben non, bien evidemment... comme je le disais
Citation:
mais bon, c'est vrai que comme ici, chaque checkbox a un nom différent, et donc ils ne sont pas liés c'est pas obligatoire
__________________
mais pourquoi tu cours?
gofono_bass est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2006, 14h29   #14
Membre confirmé
 
Avatar de spilliaert
 
Inscription : septembre 2005
Messages : 270
Détails du profil
Informations personnelles :
Âge : 20
Localisation : Belgique

Informations forums :
Inscription : septembre 2005
Messages : 270
Points : 227
Points : 227

Autant pour moi, 'pas tout lu

sorry

@+
spilliaert est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h20.


 
 
 
 
Partenaires

Hébergement Web