|
Publicité | |||||||||||||||||||||||
|
|
#1 (permalink) |
|
Invité régulier
![]() Date d'inscription: avril 2009
Messages: 11
|
Bonjour,
Je dois faire un formulaire contenant un tableau du type ci dessous Code :
<!-------------------------*QUESTION 7---------------------> <p class="soustitrenoir">7 - Concernant ces demandes, pouvez vous renseigner le tableau suivant ? <span class="soustitrerouge">¤</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"> 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"> 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"> 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"> 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> Pouvez vous m'aider. Merci |
|
|
|
|
|
#2 (permalink) |
|
Membre émérite
![]() Date d'inscription: novembre 2007
Localisation: France
Messages: 766
|
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. |
|
|
|
|
|
#3 (permalink) |
|
Invité régulier
![]() Date d'inscription: avril 2009
Messages: 11
|
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 |
|
|
|
|
|
#4 (permalink) |
|
Membre émérite
![]() Date d'inscription: novembre 2007
Localisation: France
Messages: 766
|
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. |
|
|
|
|
|
#5 (permalink) |
|
Membre éprouvé
![]() |
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. |
|
|
|
|
|
#7 (permalink) |
|
Membre éprouvé
![]() |
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. |
|
|
|
|
|
#8 (permalink) | |
![]() Date d'inscription: février 2008
Localisation: reims
Messages: 1 297
|
Citation:
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. |
|
|
|
|
|
|
#9 (permalink) |
|
Membre émérite
![]() Date d'inscription: novembre 2007
Localisation: France
Messages: 766
|
On n'a pas besoin :
Code :
<?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 } ?> |
|
|
|
|
|
#10 (permalink) |
|
Invité régulier
![]() Date d'inscription: avril 2009
Messages: 11
|
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 ??? |
|
|
|
|
|
#11 (permalink) |
|
Membre émérite
![]() Date d'inscription: novembre 2007
Localisation: France
Messages: 766
|
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. |
|
|
|
|
|
#12 (permalink) |
|
Invité régulier
![]() Date d'inscription: avril 2009
Messages: 11
|
Code :
<? 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> </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"> </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écédés du signe <span class="soustitrerouge">¤</span> sont obligatoires]</p> <!--****************QUESTION ETABLISSEMENT************--> <table border="0" cellpadding="0" cellspacing="2" bgcolor="#CCCCCC"> <tr> <td class="texte"><span class="soustitrerouge">¤</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">¤</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"> 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"> 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> </p> <p> </p> <p align="center" class="soustitrenoir"><span class="soustitrerouge">Attention</span>,</p> <p align="center" class="soustitrenoir">Merci de bien vouloir vérifier l'exactitude de vos ré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> </p> </form> </body> </html> 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 |
|
|
|
|
|
#13 (permalink) |
|
Membre émérite
![]() Date d'inscription: novembre 2007
Localisation: France
Messages: 766
|
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 :
<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> Code :
<input type="button" value="add a line" onclick="add_line()"/> Code :
<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"> 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. |
|
|
|
|
|
#14 (permalink) |
|
Invité régulier
![]() Date d'inscription: avril 2009
Messages: 11
|
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 ??? |
|
|
|
|
|
#15 (permalink) |
|
Invité régulier
![]() Date d'inscription: avril 2009
Messages: 11
|
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] ??? |
|
|
|
|
|
![]() |
||
récupération des données
|
||
| Outils de la discussion | |
|
|