Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum 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 25/06/2011, 19h54   #1
Invité de passage
 
Femme
Étudiant
Inscription : juin 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 7
Points : 3
Points : 3
Par défaut SQL + formulaire + interpréter des variables

Bonjour à tous,

J'ai eu quelques difficultés à trouver un titre résumant la situation... Voici mon problème.

Je travaille sur un ensemble de formulaires, dont tous les paramètres sont contenus dans une base de données.

Dans le premier formulaire, l'utilisateur peut choisir une date ; cette date correspond à un cours.
Je fais ensuite une requête sql dans ma base de données pour trouver toutes les personnes ayant assisté à ce cours.
Puis je fais une boucle pour créer un formulaire pour chaque personne présent au cours. Dans ce formulaire, on peut cocher une case pour dire si la personne était absente ou non (case cochée = personne absente).

Pour reformuler, j'ai donc un formulaire avec une liste d'élèves et une case à cocher pour chaque élève.
Je voudrais ensuite pouvoir ajouter dans ma base de données les personnes ayant été absentes au cours.

Dans ma base de données, j'ai une table "étudiants" avec un champ "nom_etudiant". Si la personne a été absente, je voudrais compléter une autre table "Remarques" dont un des champs est "absent". Si l'étudiant est absent, alors on mettra "oui" dans le champ "absent".

Voici le code que j'ai développé :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
// Donnée du formulaire précédent
$seance=$_POST['seance'];
$sql="SELECT nom_etudiant FROM etudiants WHERE seance= '$seance'";
$req = mysql_query($sql);
?>
 
<form method="post" action="absence.php">
<p>
<?php
	while ($donnees = mysql_fetch_array($req))
	{
		echo $donnees['nom_etudiant'];
	?>
	<fieldset>
	<!--  Case a cocher si absence -->
	<label> Absence : </label>
	<input type="checkbox" name=" <?php echo $donnees['nom_etudiant'].'_absence'; ?>" id=" <?php echo $donnees['nom_etudiant']; ?>  .absence">
 
?>
A partir de là, je souhaiterais savoir comment récupérer la valeur de la case à cocher pour chaque étudiant...
Dans mon fichier de traitement du formulaire absence.php, j'ai refait la même requête pour récupérer les étudiants assistant au cours. J'ai fait la même boucle. Mais je suis bloquée pour récupérer la valeur de la case à cocher...
J'aurais aimé mettre :

Code :
echo $_POST[$donnees['nom_etudiant'].'_absence'];
... mais bien sûr ça ne marche pas.

Quelqu'un a-t-il déjà été confronté au problème ? Et aurait une idée ?

Merci d'avance pour votre aide...

Chloé
chloe_t est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2011, 18h47   #2
Membre habitué
 
Marc
Ingénieur sécurité
Inscription : novembre 2009
Messages : 142
Détails du profil
Informations personnelles :
Nom : Marc

Informations professionnelles :
Activité : Ingénieur sécurité

Informations forums :
Inscription : novembre 2009
Messages : 142
Points : 129
Points : 129
J'ai parcourut ton message en deux minutes. Et si j'ai bien compris ton problème tu n'arrives pas à récupérer les POST contenant les absences ? Je suis juste ?

Si c'est ça, une solution serait de lister tous les paramètre en POST et de faire une expression régulière dessus voir si ils contiennent la substring _absence.

Ça me parait très sale mais fonctionnel, je réfléchirai à une solution plus propre ce soir
manticore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2011, 19h20   #3
Invité de passage
 
Femme
Étudiant
Inscription : juin 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 7
Points : 3
Points : 3
Oui, c'est ça : mon but est de récupérer pour chaque étudiant la valeur de la case à cocher "absence".
Et les name de mes cases à cocher dépendent du nom de l'étudiant (nom que j'ai récupéré via ma requête sql).

Je ne suis pas très familière avec les expressions régulières, mais si c'est le seul moyen de faire ça, alors je m'y mettrai !
Je vais commencer à regarder comment ça fonctionne, en attendant d'autres éventuelles idées...

Merci pour ton aide en tout cas !

Chloe
chloe_t est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2011, 23h07   #4
Invité de passage
 
Femme
Étudiant
Inscription : juin 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 7
Points : 3
Points : 3
J'avais oublié de fermer ma balise <form> !

Donc en fait, je n'ai pas de problème !
J'étais persuadée qu'on ne pouvait pas mettre une variable dans un POST, mais si si, aucun souci.

Donc ce post est résolu, merci à ceux qui ont pris le temps de le lire.
chloe_t est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2011, 04h47   #5
Membre habitué
 
Marc
Ingénieur sécurité
Inscription : novembre 2009
Messages : 142
Détails du profil
Informations personnelles :
Nom : Marc

Informations professionnelles :
Activité : Ingénieur sécurité

Informations forums :
Inscription : novembre 2009
Messages : 142
Points : 129
Points : 129
oui tu peux mettre tes variable ou tu veux, tu les insères dans du code HTML qui est généré par depuis le PHP.

Un conseil regarde le code généré depuis un navigateur, par exemple avec firefox il te met en évidence les balises non fermé
manticore 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 02h51.


 
 
 
 
Partenaires

Hébergement Web