IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

récupération des données


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 53
    Par défaut récupération des données
    Bonjour,

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    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. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 53
    Par défaut
    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. #4
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    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. #5
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut
    Elle posait également le probleme de stocker dans la bdd, et la je suis pas sur qu'on puisse stocker un tableau si ?

  6. #6
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    non, mais tu parcours ton tableau, sachant que 1 index correspondrait a une ligne du tableau html/formulaire.

  7. #7
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut
    Oui ca d'accord mais la question c'est de savoir comment prévoir le nombre de champs dans la bdd il me semble

  8. #8
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    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.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  9. #9
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    On n'a pas besoin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    	}
    ?>

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 53
    Par défaut
    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. #11
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    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. #12
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 53
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  13. #13
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 53
    Par défaut
    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. #15
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 53
    Par défaut
    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] ???

  16. #16
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    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.

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 53
    Par défaut
    il ne veut pas m'envoyer mon questionnaire avec q7num[0], voici ma page envoi.php


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  18. #18
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    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.

Discussions similaires

  1. Récupération des données d'un formulaire
    Par placenargac dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/02/2006, 15h10
  2. récupération des données via une liste déroulante
    Par rahan_dave dans le forum Access
    Réponses: 1
    Dernier message: 13/10/2005, 12h27
  3. [HTML][FORMULAIRE] Probleme dans la récupération des données
    Par baddounet dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 15/08/2005, 18h51
  4. Réponses: 2
    Dernier message: 20/02/2004, 08h47
  5. Réponses: 13
    Dernier message: 20/03/2003, 08h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo