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/01/2010, 17h00   #1
 
Inscription : avril 2009
Messages : 52
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 52
Points : -1
Points : -1
Par défaut récupération des données

Bonjour,

Je dois faire un formulaire contenant un tableau du type ci dessous

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
 
<!-------------------------*QUESTION 7--------------------->
 
<p class="soustitrenoir">7 - Concernant ces demandes, pouvez vous renseigner le tableau suivant ? <span class="soustitrerouge">&curren;</span></p>
<table border="1" cellpadding="0" cellspacing="2" bgcolor="#CCCCCC">
   <tr>
    <td class="texte"><center><b>Numéro attribué<br> à la personne<br> (voir à la question 1) </b></center></td>
	<td class="texte"><center><b>La demande a-t-elle aboutit <br> (oui/non) </center></b></td>
	<td class="texte"><center><b>Si non : motif du refus évoqué par l'établissement pour personnes âgées</center></b></td>
  </tr>
    <!--LIGNE 1-->
  <tr>
      <td><textarea name="q7num_1" cols="22" rows="5 " id="num_1" style="background-color:#FFFFFF; color:#000000; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px"><?php
        if (!empty($_POST["q7num_1"])) { 
 
                echo htmlspecialchars($_POST["q7num_1"],ENT_QUOTES);
        }
        ?></textarea>
	   </td>
 
	   <td class="texte">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oui
	   <input name="q7dmd_1" type="radio" value="oui" style="background-color:#FFFFFF; color:#000000; border:1px #92A6B4 solid ;font-family: Verdana; font-size:10px"<?php
        if (!empty($_POST["q7dmd_1"])) { 
                $q7dmd_1 = $_POST["q7dmd_1"];
				if ($q7dmd_1 =="oui") { echo " checked"; }
        }
		else {
				$q7dmd_1 = "";
		}
         ?>>
    <span class="texte">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;non</span>
	<input name="q7dmd_1" type="radio" value="non" style="background-color:#FFFFFF; color:#000000; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px"<?php
        if (!empty($_POST["q7dmd_1"])) { 
                $q7dmd_1 = $_POST["q7dmd_1"];
				if ($q7dmd_1 =="non") { echo " checked"; }
        }
		else {
				$q7dmd_1 = "";
		}
 
    ?>></td>
 
 
    <td>
	<input name="q7non_1" type="checkbox" id="q7non_1" style="background-color:#000000; color:#FFFFFF; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px" value="mq_place"<?php
        if (!empty($_POST["q7non_1"])) { 
                $q7non_1 = $_POST["q7non_1"];
				if ($q7non_1 =="mq_place") { echo " checked"; }
        }
		else {
				$q7non_1 = "";
		}
         ?>><span class="texte">Manque de place</span>
		  <br>
    <input name="q7non_3" type="checkbox" id="q7non_3" style="background-color:#000000; color:#FFFFFF; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px" value="pb_financ"<?php
        if (!empty($_POST["q7non_3"])) { 
                $q7non_3 = $_POST["q7non_3"];
				if ($q7non_3 =="pb_financ") { echo " checked"; }
        }
		else {
				$q7non_3 = "";
		}
         ?>><span class="texte">Problèmes financiers</span>
		 <br>
 
    <input name="q7non_2" type="checkbox" id="q7non_2" style="background-color:#000000; color:#FFFFFF; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px" value="patho"<?php
        if (!empty($_POST["q7non_2"])) { 
                $q7non_2 = $_POST["q7non_2"];
				if ($q7non_2 =="patho") { echo " checked"; }
        }
		else {
				$q7non_2 = "";
		}
         ?>><span class="texte">Pathologogie ou déficience incompatible avec prise en charge en maison de retraite </span>
    <br>
 
    <input name="q7non_3" type="checkbox" id="q7non_3" style="background-color:#000000; color:#FFFFFF; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px" value="autre"<?php
        if (!empty($_POST["q7non_3"])) { 
                $q7non_3 = $_POST["q7non_3"];
				if ($q7non_3 =="autre") { echo " checked"; }
        }
		else {
				$q7non_3 = "";
		}
         ?>><span class="texte">Autres</span>
		 <span class="texte">(Préciser) :</span>
		 <input name="q7non_autre" type="text" id="q7non_autre" style="background-color:#FFFFFF; color:#000000; border:1px #92A6B4 solid ;
     font-family: Verdana; font-size:10px" size="70" maxlength="70" value="<?php
        if (!empty($_POST["q7non_autre"])) { 
 
                echo htmlspecialchars($_POST["q7non_autre"],ENT_QUOTES);
        }
        ?>"></td>		 
 
 
	</td>
  </tr>
  <!--LIGNE 2-->
    <tr>
      <td><textarea name="q7num_1" cols="22" rows="5 " id="num_1" style="background-color:#FFFFFF; color:#000000; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px"><?php
        if (!empty($_POST["q7num_1"])) { 
 
                echo htmlspecialchars($_POST["q7num_1"],ENT_QUOTES);
        }
        ?></textarea>
	   </td>
 
	   <td class="texte">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oui
	   <input name="q7dmd_1" type="radio" value="oui" style="background-color:#FFFFFF; color:#000000; border:1px #92A6B4 solid ;font-family: Verdana; font-size:10px"<?php
        if (!empty($_POST["q7dmd_1"])) { 
                $q7dmd_1 = $_POST["q7dmd_1"];
				if ($q7dmd_1 =="oui") { echo " checked"; }
        }
		else {
				$q7dmd_1 = "";
		}
         ?>>
    <span class="texte">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;non</span>
	<input name="q7dmd_1" type="radio" value="non" style="background-color:#FFFFFF; color:#000000; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px"<?php
        if (!empty($_POST["q7dmd_1"])) { 
                $q7dmd_1 = $_POST["q7dmd_1"];
				if ($q7dmd_1 =="non") { echo " checked"; }
        }
		else {
				$q7dmd_1 = "";
		}
 
    ?>></td>
 
 
    <td>
	<input name="q7non_1" type="checkbox" id="q7non_1" style="background-color:#000000; color:#FFFFFF; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px" value="mq_place"<?php
        if (!empty($_POST["q7non_1"])) { 
                $q7non_1 = $_POST["q7non_1"];
				if ($q7non_1 =="mq_place") { echo " checked"; }
        }
		else {
				$q7non_1 = "";
		}
         ?>><span class="texte">Manque de place</span>
		  <br>
    <input name="q7non_3" type="checkbox" id="q7non_3" style="background-color:#000000; color:#FFFFFF; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px" value="pb_financ"<?php
        if (!empty($_POST["q7non_3"])) { 
                $q7non_3 = $_POST["q7non_3"];
				if ($q7non_3 =="pb_financ") { echo " checked"; }
        }
		else {
				$q7non_3 = "";
		}
         ?>><span class="texte">Problèmes financiers</span>
		 <br>
 
    <input name="q7non_2" type="checkbox" id="q7non_2" style="background-color:#000000; color:#FFFFFF; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px" value="patho"<?php
        if (!empty($_POST["q7non_2"])) { 
                $q7non_2 = $_POST["q7non_2"];
				if ($q7non_2 =="patho") { echo " checked"; }
        }
		else {
				$q7non_2 = "";
		}
         ?>><span class="texte">Pathologogie ou déficience incompatible avec prise en charge en maison de retraite </span>
    <br>
 
    <input name="q7non_3" type="checkbox" id="q7non_3" style="background-color:#000000; color:#FFFFFF; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px" value="autre"<?php
        if (!empty($_POST["q7non_3"])) { 
                $q7non_3 = $_POST["q7non_3"];
				if ($q7non_3 =="autre") { echo " checked"; }
        }
		else {
				$q7non_3 = "";
		}
         ?>><span class="texte">Autres</span>
		 <span class="texte">(Préciser) :</span>
		 <input name="q7non_autre" type="text" id="q7non_autre" style="background-color:#FFFFFF; color:#000000; border:1px #92A6B4 solid ;
     font-family: Verdana; font-size:10px" size="70" maxlength="70" value="<?php
        if (!empty($_POST["q7non_autre"])) { 
 
                echo htmlspecialchars($_POST["q7non_autre"],ENT_QUOTES);
        }
        ?>"></td>		 
 
 
	</td>
  </tr>
</table>
J'aimerais que la personne ajoute autant de lignes que nécessaire et ensuite comment faire pour les enregistrer dans la base de donées my sql sachant que je ne vais pas créer 50 champs supplémentaires alors que j'en aurai peut-être que 40 ??

Pouvez vous m'aider.

Merci
vivi21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2010, 17h15   #2
Membre émérite
 
Assistant recherche bioinfo
Inscription : novembre 2007
Messages : 800
Détails du profil
Informations personnelles :
Localisation : Canada

Informations professionnelles :
Activité : Assistant recherche bioinfo

Informations forums :
Inscription : novembre 2007
Messages : 800
Points : 825
Points : 825
Bonjour,
Es-ce toi qui a écrit ce code ?
Qu'est ce qui cloche exactement ?
Tu penses utiliser quoi pour ajouter tes lignes : javascript ou php ?

Concernant la recuperation des données d'un formulaire, sache que tu peux specifié des nomes avec des [] (par exemple : demande_abouti[]). Ensuite, dans php, tu recupere ta variable qui est en faite un tableau de données. Ainsi, tu n'as tes variables d'une ligne multiplier par toute les lignes, mais des variables tableaux, autant d'element que de ligne.
Je te laisse imaginer les possibilités dans ton exercice.

Z.
Zwiter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2010, 09h43   #3
 
Inscription : avril 2009
Messages : 52
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 52
Points : -1
Points : -1
Bonjour Z,

Oui c'est une partie de mon code en bidouillant car pas forte en php javascript

Je pense utiliser javascript avec un bouton ajoutant des lignes;

Je vais rechercher encore un peu merci pour ta réponse
vivi21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2010, 10h39   #4
Membre émérite
 
Assistant recherche bioinfo
Inscription : novembre 2007
Messages : 800
Détails du profil
Informations personnelles :
Localisation : Canada

Informations professionnelles :
Activité : Assistant recherche bioinfo

Informations forums :
Inscription : novembre 2007
Messages : 800
Points : 825
Points : 825
Hesite pas a venir poster tes idées ici.
Si tu buttes, on te donnera un coup de main, que ca soit javascript ou php !

Je vais essayer de simplifier mon conseil si dessus :
ecrit une ligne de ton tableau en HTML, avec nom de variable 'normal'.
Apres, tu rajoutes des crochets a la suite de chaque champ de cette ligne.
Tu obtiens ta vrai ligne.
Puis tu utilises javascript pour rajouter des lignes.
Et pour finir, tu recuperes des tableaux de données via php lors dela soumission du formulaire.

Z.
Zwiter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2010, 10h54   #5
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
Elle posait également le probleme de stocker dans la bdd, et la je suis pas sur qu'on puisse stocker un tableau si ?
__________________
Le contenu est roi, optimisé il est empereur...

Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent.

http://www.tethis-interactive.com
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2010, 11h25   #6
Membre émérite
 
Assistant recherche bioinfo
Inscription : novembre 2007
Messages : 800
Détails du profil
Informations personnelles :
Localisation : Canada

Informations professionnelles :
Activité : Assistant recherche bioinfo

Informations forums :
Inscription : novembre 2007
Messages : 800
Points : 825
Points : 825
non, mais tu parcours ton tableau, sachant que 1 index correspondrait a une ligne du tableau html/formulaire.
Zwiter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2010, 11h31   #7
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
Oui ca d'accord mais la question c'est de savoir comment prévoir le nombre de champs dans la bdd il me semble
__________________
Le contenu est roi, optimisé il est empereur...

Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent.

http://www.tethis-interactive.com
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2010, 11h39   #8
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 164
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 164
Points : 4 280
Points : 4 280
Citation:
Envoyé par schlough Voir le message
Elle posait également le probleme de stocker dans la bdd, et la je suis pas sur qu'on puisse stocker un tableau si ?
un tableau? on peut stocker le code html si on le souhaites
mais bon, je pense que si l'on souhaite rendre cela pérène et surtout valable pour tout le monde le mieux serait une table personne, formulaire, element_formulaire

une personne pouvant créer 1 à x formulaire, chaque formulaire pouvant avoir 1 à x éléments.

mais bon c'est qu'une idée.
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2010, 11h46   #9
Membre émérite
 
Assistant recherche bioinfo
Inscription : novembre 2007
Messages : 800
Détails du profil
Informations personnelles :
Localisation : Canada

Informations professionnelles :
Activité : Assistant recherche bioinfo

Informations forums :
Inscription : novembre 2007
Messages : 800
Points : 825
Points : 825
On n'a pas besoin :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<?php
$nb_lignes = 10;
 
echo '<form name="input" action="' . $_SERVER['PHP_SELF'] . '" method="post">';
for ($i = 0; $i < $nb_lignes; $i++) {
	echo '<input type="text" name="bla[]" />';
	}
echo '<input type="submit" /></form>';
 
foreach ($_POST['bla'] as $key => $value) {
	echo "ligne $key : $value <br />";//traitement qui pourrait être in insert dans la bdd
	}
?>
Zwiter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2010, 15h15   #10
 
Inscription : avril 2009
Messages : 52
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 52
Points : -1
Points : -1
En réfléchissant,

Mon formulaire est constituer de plusieurs questions et réponses dans une question avec un tableau, par contre si j'ajoute une ligne à mon tableau est ce que je perds les réponses aux questions précédentes car cela regénère une nouvelle page ???
vivi21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2010, 15h34   #11
Membre émérite
 
Assistant recherche bioinfo
Inscription : novembre 2007
Messages : 800
Détails du profil
Informations personnelles :
Localisation : Canada

Informations professionnelles :
Activité : Assistant recherche bioinfo

Informations forums :
Inscription : novembre 2007
Messages : 800
Points : 825
Points : 825
Si tu le fais en javascript, non car tu ne recharges pas la page.
Si tu le fais en php, tu peux garder les informations en envoyant les données en meme temps. Puis tu les réaffichent.
Z.
Zwiter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2010, 16h57   #12
 
Inscription : avril 2009
Messages : 52
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 52
Points : -1
Points : -1
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
 
<?
session_cache_limiter('private');
session_start();
 
$db_user = '';
$db_pass = '';
?>
 
 
<html>
<head>
 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../../style.css" rel="stylesheet" type="text/css">
 
<script language="javascript">
 
var pb_form=0;
 
function verif()
                {
				if(document.form1.q0_1.value =="")
				   {
					alert ("Saisir le nom de votre structure (renseignement sur l'établissement)");
					pb_form++;
					}
 
 
 
///				//envoi formulaire
				   if (!pb_form) document.form1.submit();// si tout les if sont bon alors valid le questionnaire
				   else pb_form=0;
 
 
                }
 
</script>
 
 
 
 
 
 
 
 
</head>
 
<body bgcolor="#F7F2B2">
<p>&nbsp;</p>
<p align="center" class="titrerouge">ENQUETE AUPRES DES ETABLISSEMENTS ET SERVICES POUR ADULTES HANDICAPES</p>
<p></p>
<p align="center" class="titrerouge">Pour préparer la journée d'étude du 16/11/2010 à Dijon</p>
<p align="center" class="titrerouge">&nbsp;</p>
 
 
 
<form name="form1" method="get" action="envoi.php">
 
 
 
 
<p class="titreorange">Renseignement sur l'établissement ou le service </p>
<p class="texte">[les champs pr&eacute;c&eacute;d&eacute;s du signe <span class="soustitrerouge">&curren;</span> sont obligatoires]</p>
 
 
<!--****************QUESTION ETABLISSEMENT************-->
 
<table border="0" cellpadding="0" cellspacing="2" bgcolor="#CCCCCC">
   <tr>
    <td class="texte"><span class="soustitrerouge">&curren;</span> Nom de l'Etablissement ou du service :</td>
    <td><input name="q0_1" type="text" id="q0_1" style="background-color:#FFFFFF; color:#000000; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px" size="60" maxlength="50" value="<?php
        if (!empty($_POST["q0_1"])) { 
 
                echo htmlspecialchars($_POST["q0_1"],ENT_QUOTES);
        }
        ?>"></td>
  </tr>
  </table>
 
 
 
<!-------------------------*QUESTION 7--------------------->
 
<p class="soustitrenoir">7 - Concernant ces demandes, pouvez vous renseigner le tableau suivant ? <span class="soustitrerouge">&curren;</span></p>
<table border="1" cellpadding="0" cellspacing="2" bgcolor="#CCCCCC">
   <tr>
    <td class="texte"><center><b>Numéro attribué<br> à la personne<br> (voir à la question 1) </b></center></td>
	<td class="texte"><center><b>La demande a-t-elle aboutit <br> (oui/non) </center></b></td>
	<td class="texte"><center><b>Si non : motif du refus évoqué par l'établissement pour personnes âgées</center></b></td>
  </tr>
    <!--LIGNE 1-->
 
 
 < PREMIER PARTIE 
 
 
!--LIGNE 1-->
  <tr>
      <td><textarea name="q7num_1[]" cols="22" rows="5 " id="num_1" style="background-color:#FFFFFF; color:#000000; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px"><?php
        if (!empty($_POST["q7num_1[]"])) { 
 
                echo htmlspecialchars($_POST["q7num_1[]"],ENT_QUOTES);
        }
        ?></textarea>
	   </td>
 
<!--FIN PREMIERE PARTIE-->
 
 
 
	   <td class="texte">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oui
	   <input name="q7dmd_1" type="radio" value="oui" style="background-color:#FFFFFF; color:#000000; border:1px #92A6B4 solid ;font-family: Verdana; font-size:10px"<?php
        if (!empty($_POST["q7dmd_1"])) { 
                $q7dmd_1 = $_POST["q7dmd_1"];
				if ($q7dmd_1 =="oui") { echo " checked"; }
        }
		else {
				$q7dmd_1 = "";
		}
         ?>>
    <span class="texte">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;non</span>
	<input name="q7dmd_1" type="radio" value="non" style="background-color:#FFFFFF; color:#000000; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px"<?php
        if (!empty($_POST["q7dmd_1"])) { 
                $q7dmd_1 = $_POST["q7dmd_1"];
				if ($q7dmd_1 =="non") { echo " checked"; }
        }
		else {
				$q7dmd_1 = "";
		}
 
    ?>></td>
 
 
    <td>
	<input name="q7non_1" type="checkbox" id="q7non_1" style="background-color:#000000; color:#FFFFFF; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px" value="mq_place"<?php
        if (!empty($_POST["q7non_1"])) { 
                $q7non_1 = $_POST["q7non_1"];
				if ($q7non_1 =="mq_place") { echo " checked"; }
        }
		else {
				$q7non_1 = "";
		}
         ?>><span class="texte">Manque de place</span>
		  <br>
    <input name="q7non_3" type="checkbox" id="q7non_3" style="background-color:#000000; color:#FFFFFF; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px" value="pb_financ"<?php
        if (!empty($_POST["q7non_3"])) { 
                $q7non_3 = $_POST["q7non_3"];
				if ($q7non_3 =="pb_financ") { echo " checked"; }
        }
		else {
				$q7non_3 = "";
		}
         ?>><span class="texte">Problèmes financiers</span>
		 <br>
 
    <input name="q7non_2" type="checkbox" id="q7non_2" style="background-color:#000000; color:#FFFFFF; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px" value="patho"<?php
        if (!empty($_POST["q7non_2"])) { 
                $q7non_2 = $_POST["q7non_2"];
				if ($q7non_2 =="patho") { echo " checked"; }
        }
		else {
				$q7non_2 = "";
		}
         ?>><span class="texte">Pathologogie ou déficience incompatible avec prise en charge en maison de retraite </span>
    <br>
 
    <input name="q7non_3" type="checkbox" id="q7non_3" style="background-color:#000000; color:#FFFFFF; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px" value="autre"<?php
        if (!empty($_POST["q7non_3"])) { 
                $q7non_3 = $_POST["q7non_3"];
				if ($q7non_3 =="autre") { echo " checked"; }
        }
		else {
				$q7non_3 = "";
		}
         ?>><span class="texte">Autres</span>
		 <span class="texte">(Préciser) :</span>
		 <input name="q7non_autre" type="text" id="q7non_autre" style="background-color:#FFFFFF; color:#000000; border:1px #92A6B4 solid ;
     font-family: Verdana; font-size:10px" size="70" maxlength="70" value="<?php
        if (!empty($_POST["q7non_autre"])) { 
 
                echo htmlspecialchars($_POST["q7non_autre"],ENT_QUOTES);
        }
        ?>"></td>		 
 
 
	</td>
  </tr>
</table>	
 
 
 
 
<!--------------------------------------------------------------------FIN QUESTION N°16--------------------------------------------------->
<!--FIN QUESTIONNAIRE-->
<!--FIN QUESTIONNAIRE-->
<!--FIN QUESTIONNAIRE-->
<!--FIN QUESTIONNAIRE-->
 
	<!--FIN QUESTIONNAIRE-->
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align="center" class="soustitrenoir"><span class="soustitrerouge">Attention</span>,</p>
<p align="center" class="soustitrenoir">Merci de bien vouloir v&eacute;rifier l'exactitude de vos r&eacute;ponses avant de soumettre le formulaire.<br><br>
Si lors de la validation, vous voyez apparaître des fenêtres, merci de bien vouloir noter attentivement les erreurs de saisie afin de pouvoir les modifier et ainsi revalider le questionnaire. La validation complète du formulaire ouvrira une page vous confirmant l'enregistrement des donnnées. </p>
<div align="center">
  <input type="button"  name="valider" value="VALIDER LE QUESTIONNAIRE" style="background-color:#FF3838; color:#FFFFFF; border:1px #92A6B4 solid ; font-family: Verdana; font-size:10px" onClick="javascript:verif();">
</div>
<p>&nbsp; </p>
</form>
 
 
</body>
</html>
Est ce que la première partie est correcte ou pas ?

J'ai du mal a faire un script sans erreur.

Peux tu m'aider.

Est ce que cela va ajouter les bouton radio et les coches que j'ai dans ma premiere ligne de tableau

Meric pour votre aide
vivi21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2010, 10h11   #13
Membre émérite
 
Assistant recherche bioinfo
Inscription : novembre 2007
Messages : 800
Détails du profil
Informations personnelles :
Localisation : Canada

Informations professionnelles :
Activité : Assistant recherche bioinfo

Informations forums :
Inscription : novembre 2007
Messages : 800
Points : 825
Points : 825
Ton code, si il ne renvoie pas d'erreur, c'est qu'il tourne.
Tu l'as bien testé non ?
Pour la ligne a ajouter, je vois pas comment tu l'ajoutes a partir de ton code, donc voici une proposition :

Si tu ajoutes ce javascript (j'ai utilisé jquery) dans le head de ton html :
Code :
1
2
3
4
5
6
<script language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
<script language="javascript">
function add_line() {
	$("tr.line:last").clone().insertAfter("tr.line:last");
	}
</script>
Puis dans ton code, n'importe ou, un bouton pour ajouter la ligne (de preference dans le texte juste au dessus du tableau :
Code :
<input type="button" value="add a line" onclick="add_line()"/>
Et pour finir, tu ajoutes la classe '.line' a la 1ere ligne de ton tableau :
Code :
1
2
3
<tr class="line">
      <td><textarea name="q7num_1[]" cols="22" rows="5 " id="num_1" style="background-color:#FFFFFF; color:#000000; border:1px #92A6B4 solid ;
font-family: Verdana; font-size:10px">
Tu n'as plus qu'a cliquer sur le bouton pour rajouter les lignes.
Explication :
le javascript va rechercher tous les elements html <tr> ayant pour classe line.
Puis il va selectionner le dernier de ces elements, ce qui est traduit part : tr.line:last
Puis cet élément est cloné (le contenu est copier), puis collé apres la derniere ligne du tableau, via la fonction insertAfter.

Z.
Zwiter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2010, 12h15   #14
 
Inscription : avril 2009
Messages : 52
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 52
Points : -1
Points : -1
Merci Z pour ton énorme aide et tes explications claires.

Maintenant il faut que je regarde comme je vais récupérer les réponses de chaque cellule dans ma base de données mysql.

Je test est ce que si j'ai un souci je peux te redemander de l'aide ???
vivi21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2010, 15h55   #15
 
Inscription : avril 2009
Messages : 52
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 52
Points : -1
Points : -1
L'ajout de ligne ne fonction pas bien pour les bouton radio car il garde le champs cliquer enfin je peut moduler par des cases à cocher.

Un petite question, est ce que dans ma table de ma base my sql quel champs de dois créer pour mon tableau question 7 "q7num_1[]" ou q7num_1[0] ???
vivi21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2010, 17h43   #16
Membre émérite
 
Assistant recherche bioinfo
Inscription : novembre 2007
Messages : 800
Détails du profil
Informations personnelles :
Localisation : Canada

Informations professionnelles :
Activité : Assistant recherche bioinfo

Informations forums :
Inscription : novembre 2007
Messages : 800
Points : 825
Points : 825
Pour la 1ere ligne de ton tableau, ca sera q7num_1[0] (toutes tes variables avec [0]).
2eme ligne de ton tableau, tout [1]
Etc...

Pour la dubplication de la ligne, c'etait un truc rapide pour te montrer la possiblité du javascript, et aussi attirer ton attention sur jquery, une bibliotheque de fonction qui simplifie la vie.
On peut facilement envisager d'avoir une ligne dans un div caché (display:none) sans rien de cocher (car caché ), et de le copier et coller dans le tableau.

Z.
Zwiter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2010, 16h17   #17
 
Inscription : avril 2009
Messages : 52
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 52
Points : -1
Points : -1
il ne veut pas m'envoyer mon questionnaire avec q7num[0], voici ma page envoi.php


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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
 
<?
session_cache_limiter('private');
session_start();
 
foreach($_POST as $cle => $valeur)
 
                {
                 //echo $cle." : ".$valeur."(".GETTYPE($cle).")<BR><BR>";
 
                  $$cle=$valeur; }
 
$db_user = '';
$db_pass = '';
 
//$org_code = ($_SESSION['username']);
//$org_mdp = ($_SESSION['password']);
 
$connection = mysql_connect('localhost', $db_user, $db_pass) or die(mysql_error());
mysql_select_db('db', $connection) or die(mysql_error());
 
 
$requete = "SELECT * FROM table WHERE id='".$id."'";
//echo $requete;
$result = mysql_query($requete) or die('Erreur SQL !<br>'.$result.'<br>'.mysql_error());
$nb = mysql_num_rows($result);
 
if ($nb==0)
{
 
 
$query = "INSERT INTO table
(q0_1,q0_2,q0_3,q0_4,q0_5,q0_6,q0_7,q0_8,q0_9,q0_9_autre,q2,q3,q4,q5_1,q5_2,q5_3,q5_4,q5_6,q5_7,q5_8,q5_8_autre,q6,
q7num[0],q7oui[0],q7non[0],q7non_1[0],q7non_2[0],q7non_3[0],q7non_4[0],q7non_autre,
q8part_1,q8type_1,q8mod_1,q8part_2,q8type_2,q8mod_2,q8part_3,q8type_3,q8mod_3,
q8part_4,q8type_4,q8mod_4,q8part_5,q8type_5,q8mod_5,q9,q9_1,q9_2,q10,q11,q11_1,q12,q12_1,q13,q13_1,q14,q14_1,q15,q15_1,q16,q16_1) 
VALUES('$q0_1','$q0_2','$q0_3','$q0_4','$q0_5','$q0_6','$q0_7','$q0_8','$q0_9','$q0_9_autre','$q2','$q3','$q4','$q5_1','$q5_2','$q5_3','$q5_4','$q5_6','$q5_7','$q5_8','$q5_8_autre',
'$q6','$q7num[0]','$q7oui[0]','$q7non[0]','$q7non_1[0]','$q7non_2[0]','$q7non_3[0]','$q7non_4[0]','$q7non_autre',
'$q8part_1','$q8type_1','$q8mod_1','$q8part_2','$q8type_2','$q8mod_2','$q8part_3','$q8type_3','$q8mod_3','$q8part_4','$q8type_4','$q8mod_4','$q8part_5','$q8type_5','$q8mod_5',
'$q9','$q9_1','$q9_2','$q10','$q11','$q11_1','$q12','$q12_1','$q13','$q13_1','$q14','$q14_1','$q15','$q15_1','$q16','$q16_1')";
 
 
 
 
 
$result = mysql_query($query) or die('Erreur SQL !<br>'.$result.'<br>'.mysql_error()); 
 
echo '<html><head><title></title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><link href="../../style.css" rel="stylesheet" type="text/css"></head><body>';
//echo $query;
echo '<p align="center" class="soustitrenoir">Les réponses de ce questionnaire ont bien été prises en compte</p>';
echo '<br><p align="center" class="soustitrenoir">SI VOUS AVEZ A REMPLIR CE QUESTIONNAIRE POUR UNE AUTRE CATEGORIE DE STRUCTURE, merci de cliquer</p>';
echo '<center><a href="questionnaire.php" target="_self" class="lienstxt">[ICI]</a></center></BODY></HTML>';
 
}
else
{
?>
	<HTML>
		<HEAD>
		</HEAD>
		<BODY>
			<script language="javascript">
				alert("Le code d'attribution est déjà enregistrer merci de changer le code (a\nb)");
				history.back();
			</script>
		</BODY>
 
	</HTML>
<?
}
?>
Est ce que j'ai utilisé les bons codes enfin pour le reste de mon questionnaire tout marche bien c'est ce tableau qui m'embete réellement. A moins que je puisse construire autrement surtout que j'ai un autre tableau à faire plus compliqué.

Une question que je me pose aussi c'est est ce que je ne devrait pas récuperer le nom et toutes les données d'un tableau dans une autre table mais comment faire pour que lorsque je clique sur le bouton envoi que chaque réponse parte dans telle ou telle table.

Merci pour tes réponses précises et tes idées supplémentaires
vivi21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2010, 11h06   #18
Membre émérite
 
Assistant recherche bioinfo
Inscription : novembre 2007
Messages : 800
Détails du profil
Informations personnelles :
Localisation : Canada

Informations professionnelles :
Activité : Assistant recherche bioinfo

Informations forums :
Inscription : novembre 2007
Messages : 800
Points : 825
Points : 825
Je sais pas comment tu as codé ton tableau HTML, mais verifie ces points :
1) as tu bien nommé tes variables de champ, pour chaque ligne, avec les corchets vide ? Un nom de variable unique pour chaque champ d'une meme ligne ?
2) quand tu soumets ton formulaire, tu fait un var_dump($_POST) pour afficher toutes les données renvoyées par ton formulaire (si tu les envoies avec la méthode POST). Tu t'appercevras de la structure de ton tableau.

Je pense que tu n'as pas compris comment fonctionne ces tableaux de variables, alors je te renvoie aux tutoriaux du site : http://php.developpez.com/cours/?pag...ge#formulaires

Z.
Zwiter 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 +1. Il est actuellement 19h39.


 
 
 
 
Partenaires

Hébergement Web