Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
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 09/10/2007, 09h04   #1
Invité de passage
 
Inscription : octobre 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 2
Points : 0
Points : 0
Par défaut Case à cocher et base de données

bonjour

je voudrais afficher plusieurs enregistrements contenant des cases à cocher que l'utilisateur puisse cocher plusieurs cases et enregistrer le résultat

en fait je voudrais afficher les 12 mois de l'année avec une case à cocher par jour pour faire un calendrier des congés

et je ne sais pas comment faire

merci
belkacem.cherik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 18h54   #2
Rédacteur/Modérateur
 
Avatar de 12monkeys
 
Homme Dr. Peters
Webmaster
Inscription : novembre 2006
Messages : 3 630
Détails du profil
Informations personnelles :
Nom : Homme Dr. Peters
Âge : 35
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster
Secteur : Service public

Informations forums :
Inscription : novembre 2006
Messages : 3 630
Points : 6 232
Points : 6 232
Bonjour,

Tu veux bien utiliser un formulaire ? Si oui je te propose ceci :

Le code pour conserver la valeur des cases à cocher :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
	if (!empty($_POST['chkbxsel'])) {
		foreach($_POST['chkbxsel'] as $valeurduchkbxsel){
			if ($valeurduchkbxsel == 1) {
			    $choix_info1 = 1;
			} else {
			    $choix_info1 = 0;
			}
			if ($valeurduchkbxsel == 2) {
			    $choix_info2 = 1;
			} else {
			    $choix_info2 = 0;
			}
			if ($valeurduchkbxsel == 3) {
			    $choix_info3 = 1;
			} else {
			    $choix_info3 = 0;
			}
		}
	} else {
	    $choix_info1 = 0;
	    $choix_info2 = 0;
	    $choix_info3 = 0;
	}
Puis le code du formulaire :

Code :
1
2
3
4
5
6
7
 
<form method="post" action="formulaire.php">
<input type="checkbox" name="chkbxsel[]" value="1" disabled <?php if (($choix_info == 3) and ($choix_info1 == 1)) { echo "checked"; } ?>>Janvier.<br>
<input type="checkbox" name="chkbxsel[]" value="2" disabled <?php if (($choix_info == 3) and ($choix_info2 == 1)) { echo "checked"; } ?>>Fevrier.<br>
<input type="checkbox" name="chkbxsel[]" value="3" disabled <?php if (($choix_info == 3) and ($choix_info3 == 1)) { echo "checked"; } ?>>Mars.<br>
</form>
...
Puis tu l'enregistre dans une base de données :
Code :
1
2
3
4
5
6
7
8
9
10
 
$connect = mysql_connect($hote, $user, $mdp_bdd)	or die("Impossible de se connecter\n");
					echo "Connexion réussie\n";
mysql_select_db("$base") or die("Impossible de se connecter à la base de donnée\n");
			echo "Connexion réussie\n";
 
	$requete_cree_enreg = "INSERT INTO nomdelatable(choix_info1, choix_info2, choix_info3) VALUES ('$choix_info1','$choix_info2','$choix_info3')";
	$result_cree_enreg = mysql_query($requete_cree_enreg) or die("erreur requete cree enreg");
 
mysql_close($connect);
Bien sur il faut que tu mette autant de cases à cocher que tu as besoin et donc adapter le reste du code à ce nombre...
Dis nous si ça marche...
__________________
Vous débutez dans la creation de sites web : les bases du html et débuter avec les CSS
Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
Votez pour les messages qui vous ont aidés...
12monkeys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 20h58   #3
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
Plus simple :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
$check1 = ""; $check2 = ""; $check3 = "";
 
if (!empty($_POST['chkbxsel'])) {
foreach($_POST['chkbxsel'] as $valeurduchkbxsel){
 
switch($valeurduchkbxsel) {
case 1 : $check1 = "checked"; break;
case 2 : $check2 = "checked"; break;
case 3 : $check3 = "checked"; break;
}
 
}
}
Code :
1
2
3
4
5
6
 
<form method="post" action="formulaire.php">
<input type="checkbox" name="chkbxsel[]" value="1" <?php echo $check1; ?> >Janvier.<br>
<input type="checkbox" name="chkbxsel[]" value="2" <?php echo $check2; ?> >Fevrier.<br>
<input type="checkbox" name="chkbxsel[]" value="3" <?php echo $check3; ?> >Mars.<br>
</form>
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 08h09   #4
Invité de passage
 
Inscription : octobre 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 2
Points : 0
Points : 0
Par défaut merci mais ...

bonjour

c'est pas mal mais je dois afficher 12 enregistrements (12 mois) et 31 cases à cocher (1 par jour) comment mettre à jour dans ma table les 12 enregistrements après validation ?

merci
belkacem.cherik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 08h48   #5
Rédacteur/Modérateur
 
Avatar de 12monkeys
 
Homme Dr. Peters
Webmaster
Inscription : novembre 2006
Messages : 3 630
Détails du profil
Informations personnelles :
Nom : Homme Dr. Peters
Âge : 35
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster
Secteur : Service public

Informations forums :
Inscription : novembre 2006
Messages : 3 630
Points : 6 232
Points : 6 232
Citation:
Envoyé par 12monkeys Voir le message
Bonjour,
Le code pour conserver la valeur des cases à cocher :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
	if (!empty($_POST['chkbxsel'])) {
		foreach($_POST['chkbxsel'] as $valeurduchkbxsel){
			if ($valeurduchkbxsel == 1) {
			    $choix_info1 = 1;
			} else {
			    $choix_info1 = 0;
			}
			if ($valeurduchkbxsel == 2) {
			    $choix_info2 = 1;
			} else {
			    $choix_info2 = 0;
			}
			if ($valeurduchkbxsel == 3) {
			    $choix_info3 = 1;
			} else {
			    $choix_info3 = 0;
			}
		}
	} else {
	    $choix_info1 = 0;
	    $choix_info2 = 0;
	    $choix_info3 = 0;
	}
Attention : ce code ne semble pas fonctionner !! Pourtant il marchait au début !! mais en testant sur mon site il ne conserve qu'une case à cocher même si on en clique plusieurs !! Je ne sais pas d'où ça vient , je suis certain qu'il fonctionnait correctement au début...

Citation:
c'est pas mal mais je dois afficher 12 enregistrements (12 mois) et 31 cases à cocher (1 par jour) comment mettre à jour dans ma table les 12 enregistrements après validation ?
A part ma réflexion ci dessus, le reste de mon code (en particulier l'enregistrement dans la base) ne fonctionne pas ?
__________________
Vous débutez dans la creation de sites web : les bases du html et débuter avec les CSS
Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
Votez pour les messages qui vous ont aidés...
12monkeys est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h11.


 
 
 
 
Partenaires

Hébergement Web