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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Création formulaire PHP / MySQL


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Points : 62
    Points
    62
    Par défaut Création formulaire PHP / MySQL
    hello à tous,
    hello à tous,
    Voici mon problème: je souhaite crée des formulaires par ajout "automatique" soit de 1 champ à 40 champs par exemple par un bouton 'ajouter un nouveau champ' qui s'insera dans la table

    ma base sql, certainement à changer:
    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
     
    CREATE TABLE `creation_formulaire` (
    `id` SMALLINT NOT NULL AUTO_INCREMENT,
    `question` TEXT NOT NULL ,
    `proposition1` VARCHAR( 100 ) NOT NULL ,
    `proposition2` VARCHAR( 100 ) NOT NULL ,
    `proposition3` VARCHAR( 100 ) NOT NULL ,
    `proposition4` VARCHAR( 100 ) NOT NULL ,
    `proposition5` VARCHAR( 100 ) NOT NULL ,
    `resultats1` SMALLINT NOT NULL ,
    `resultats2` SMALLINT NOT NULL ,
    `resultats3` SMALLINT NOT NULL ,
    `resultats4` SMALLINT NOT NULL ,
    `resultats5` SMALLINT NOT NULL ,
    PRIMARY KEY ( `id` )
    et mon code
    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
     
    <form method="post" action="proposersondage.php">
        <p>
    	Question : <br/>
    	<input type="text" name="question" /><br/>
    	Propositions :<br/>
    	1 : <input type="text" name="proposition1" /><br/>
    	2 : <input type="text" name="proposition2" /><br/>
    	3 : <input type="text" name="proposition3" /><br/>
    	4 : <input type="text" name="proposition4" /><br/>
    	5 : <input type="text" name="proposition5" /><br/>
    	6 : <input type="text" name="proposition6" /><br/>
    	7 : <input type="text" name="proposition7" /><br/>
    	8 : <input type="text" name="proposition8" /><br/>
    	9 : <input type="text" name="proposition9" /><br/>
    	10 : <input type="text" name="proposition10" /><br/><br/>
    <?php
    	//On verifie si les infos existent
    	if (isset($_POST['question']) AND isset($_POST['proposition1'])   )
    	{
    	       //On verifie si elles ne sont pas nulles
    	       if ($_POST['question'] != "" AND $_POST['proposition1'] != "" )
    	       {
     
     
    	                //On change la question et les propositions pour les enregistrer dans la BDD
    		        $modif_question = mysql_real_escape_string($_POST['question']);
    			$modif_prop1 = mysql_real_escape_string($_POST['proposition1']);
    			$modif_prop2 = mysql_real_escape_string($_POST['proposition2']);
    			$modif_prop3 = mysql_real_escape_string($_POST['proposition3']);
    			$modif_prop4 = mysql_real_escape_string($_POST['proposition4']);
    			$modif_prop5 = mysql_real_escape_string($_POST['proposition5']);
    			$modif_prop6 = mysql_real_escape_string($_POST['proposition6']);
    			$modif_prop7 = mysql_real_escape_string($_POST['proposition7']);
    			$modif_prop8 = mysql_real_escape_string($_POST['proposition8']);
    			$modif_prop9 = mysql_real_escape_string($_POST['proposition9']);
    			$modif_prop10 = mysql_real_escape_string($_POST['proposition10']);
     
     
    	                //Enfin on enregistre les infos de notre sondage
    		        mysql_query("INSERT INTO sondage SET
    	                             question = '" . $modif_question . "',
    	                             proposition1 = '" . $modif_prop1 . "',
    	                             proposition2 = '" . $modif_prop2 . "',
    	                             proposition3 = '" . $modif_prop3 . "',
    	                             proposition4 = '" . $modif_prop4 . "',
    								 proposition5 = '" . $modif_prop5 . "',
    								 proposition6 = '" . $modif_prop6 . "',
    								 proposition7 = '" . $modif_prop7 . "',
    								 proposition8 = '" . $modif_prop8 . "',
    								 proposition9 = '" . $modif_prop9 . "',
    								 proposition10 = '" . $modif_prop10 . "' ")  or die(mysql_error());
    aurait-il quelqu'un, une ae sympathique qui pourrait m'expliquer, me montrer
    merci d'avance de votre aide

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour Sam,

    Je n'ai pas saisi ton problème, quelle difficulté rencontres-tu ?

    Aussi, la base de données que tu as créé ne correspond pas vraiment à ton besoin, il aurait été plus aisée de créer une BDD ressemblant à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    CREATE TABLE `formulaire` (
    `id` SMALLINT NOT NULL AUTO_INCREMENT,
    `nom` VARCHAR(100) NOT NULL ,
    PRIMARY KEY ( `id` )
    );
    CREATE TABLE `formulaire_propositions`(
    `id` SMALLINT NOT NULL AUTO_INCREMENT,
    `nom` VARCHAR(100) NOT NULL,
    `type` VARCHAR(50) NOT NULL,
    `proposition_id` SMALLINT NOT NULL
    );
    À un formulaire est associé une multitude de propositions.
    Une proposition est définie par un nom et un type (textbox, radio button etc.)


    Pour finir, en quoi un formulaire a-t-il besoin d'un résultat ?

    Ne souhaiterais-tu pas créer un formulaire pour ajouter un nouveau sondage plutot qu'un générateur de formulaire ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Points : 62
    Points
    62
    Par défaut
    merci pour cette information.
    ce que j'aimerais faire et apprendre en php , c'est de pouvoir crée autant de champ formulaire possible à inséré dans la base et les affiché dans une autre page puis enfin d'avoir une page résultat des formulaire envoyé par les visiteurs.

    en clair une page admin qui me permettrait de selectionné et remplir x formulaire par type (radio, text, file,.....), insertion dans la base.

    puis d'afficher aux visiteurs le formulaire pour qu'ils puissent répondre venant de la bdd et compté en pourcentage ces résultats.

    enfin une page archive des résultats du formulaire.

    donc le code d'avant, mais qui serait assez lourd.

    merci de votre aide par avance.
    sam

  4. #4
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Points : 470
    Points
    470
    Par défaut
    Tu as un problème fondamental de structure dans ta base...

    Une base de données bien conçue est une base de donnée ou l'on a en aucun cas besoin d'un nombre dynamique de champs dans une table...

    Si comme dans ton cas, on peut avoir un nombre indéterminé de "propositions", il n'est pas judicieux de tout mettre dans la même table...

    LA BONNE SOLUTION :

    Il te faut 3 tables, et non 1 seule :
    1 table pour stocker ta question,
    1 table pour stocker tes propositions
    1 table pour stocker les réponses d'un utilisateur


    tu peux les définir comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    formulaire (INT id_formulaire, TEXT question)
     
    proposition (INT id_proposition, INT formualire_associe, TEXT nom_proposition)
     
    reponse(INT user, INT propositio, INT formulaire) // le INT User est optionnel, dans le cas ou tu voudrais associer la réponse a un utilisateur de ta BDD...
     
    // tu mets l'auto increment sur tous les id_kkchose
    De cette façon, tu cré 1 seul enregistrement formulaire pas question à poser... Ex : "aimez-vous les choux ?". Ton enregistrement aura donc une clef unique id_formulaire. Pour l'exemple, on va prendre 1000 comme id.

    Ensuite, tu créé autant de proposition que tu le veux, le tout étant que toutes les propositions associés a ta question recoivent dans formulaire_associe l'id de la question que tu viens de poser... donc dans notre ex, 1000.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    insert into proposition(formulaire_associe, nom_proposition) values (1000, "oui, en salade");
    insert into proposition(formulaire_associe, nom_proposition) values (1000, "non, plutot crever");
    insert into proposition(formulaire_associe, nom_proposition) values (1000, "oui, sous la torture");
    insert into proposition(formulaire_associe, nom_proposition) values (1000, "c'est quoi des choux ?");
    Donc du coup, a chaque fois que tu voudra poser ta question, tu pourras écrire (optimisation mise a part pour le moment) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $r = mysql_query('select * from formulaire') or die(mysql_error());
    while($f = mysql_fetch_assoc($r))
    {
       echo $f['question'].' : <br>';
       $r2 = mysql_query('select * from proposition where formulaire_associe = '.$f['formulaire_associe'].'') or die(mysql_error());
       while($p = mysql_fetch_assoc($r2))
       {
          echo '<input type="radio" name="radio_n'.$f[id_formulaire].'" value="'.$p['id_proposition'].'" >'.$p['nom_proposition'].'<br>';
       }
    }
    Une fois le formulaire de réponse soumis, tu n'as plus qu'a enregistrer dans reponse les association formulaire-proposition (et user si tu veux associé la réponse a un utilisateur)... Avec 1 ligne par réponse.

    En esperant t'avoir aidé...

    Edit : un peu grillé...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Points : 62
    Points
    62
    Par défaut
    merci beaucoup, très utile
    comment je pourrais créer dans la partie admin un formulaire qui pourrais ajouter des champs selon le type (radio, text,...) par un bouton ajouter par exemple puis de les inserer dans la base?

    merci

  6. #6
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Points : 470
    Points
    470
    Par défaut
    Il faut que tu rajoute dans ta table formulaire un champ type.
    En fonction de ce champ type, tu pourras choisir entre un affichage par radio ou par checkbox (genre tu pose type=1 correpond a des radio, type=2 corrrespond a des checkbox).

    Pour le code, on ne peut pas tout rédiger ici... Il faut que tu te lance, et on t'aidera sur des extraits donnés quand besoin se fera sentir.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Points : 62
    Points
    62
    Par défaut
    le formulaire associée correspond à quoi?
    je pensais au type de champ du formulaire?

  8. #8
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    C'est pas dans la table formulaire qu'il faut ajouter le champ type, mais bien dans la table proposition. Car chaque proposition peut avoir un type différent, l'une peut-être une date, l'autre un champ de texte.

    Le mettre dans formulaire induit que tous les champs d'un formulaire sont du meme type...

    Pour finir, je trouve vraiment que la structure suivante répond à ton 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
     
    CREATE TABLE `formulaire` (
    `id` SMALLINT NOT NULL AUTO_INCREMENT,
    `nom` VARCHAR(100) NOT NULL ,
    PRIMARY KEY ( `id` )
    );
     
    CREATE TABLE `formulaire_champs`(
    `id` SMALLINT NOT NULL AUTO_INCREMENT,
    `nom` VARCHAR(100) NOT NULL,
    `type` VARCHAR(50) NOT NULL,
    `formlaire_id` SMALLINT NOT NULL,
    PRIMARY KEY ( `id` )
    );

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Points : 62
    Points
    62
    Par défaut
    comment je peux definir les types de formulaire?

  10. #10
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Points : 470
    Points
    470
    Par défaut
    Citation Envoyé par ThomasR Voir le message
    C'est pas dans la table formulaire qu'il faut ajouter le champ type, mais bien dans la table proposition. Car chaque proposition peut avoir un type différent, l'une peut-être une date, l'autre un champ de texte.

    Le mettre dans formulaire induit que tous les champs d'un formulaire sont du meme type...
    Je ne suis qu'a moitié d'accord avec toi...
    Il est en effet difficile de faire cohabiter des propositions de types différents... Comme mélanger des radio et des checkbox, voir une liste déroulante avec des champs de saisies etc...

    Il vaut mieux avoir une sur-table "questionnaire" qui contiendra plusieurs questions de types différents plutot que des formulaires dans lesquels on mélange les types de propositions pour une question donnée...

    Donc à voir en fonction de ses besoins, mais je ne pense pas que l'on gagne en simplicité en mettant le type dans les propositions...

    le formulaire associée correspond à quoi?
    Dans l'exemple que je te propose, il s'agit d'associer chaque proposition a une question (qu'on appel formulaire dans ton cas). Il s'agit donc de faire une "clef etrangère" dans la table proposition vers ta table "formulaire".

    Je te recommande vivement de te documenter sur les bases de la BDD (si je puis dire). Faire une clef étrangère fait parti du béa-ba de la BDD, et tu ne pourras avancer sans avoir compris cela...

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Points : 62
    Points
    62
    Par défaut
    merci pour ces informations:
    ce que je souhaiterais, ce serais une partie admin qui me permettrais d'ajouter les champs type du formulaire avec les questions et propositions que j'inséré dans la base afin de les afficher dans la page affichage.php

    voici les tables crée
    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
     
    DROP TABLE IF EXISTS `formulaire` ;
    CREATE TABLE `formulaire` (
    id_formulaire int(16) unsigned NOT NULL,
    question VARCHAR (100) NOT NULL ,
    PRIMARY KEY ( `id_formulaire` )
    ) ENGINE = InnoDB
     
    DROP TABLE IF EXISTS `proposition` ;
    CREATE TABLE `proposition` (
    id_proposition int(16) unsigned NOT NULL,
    formulaire_associe int(16) unsigned NOT NULL,
    nom_proposition VARCHAR (100) NOT NULL,
    type int(16) unsigned NOT NULL,
    PRIMARY KEY ( `id_proposition` )
    ) ENGINE = InnoDB
     
    DROP TABLE IF EXISTS `reponse` ;
    CREATE TABLE `reponse` (
    user int(16) unsigned NOT NULL,
    proposition int(16) unsigned NOT NULL,
    formulaire int(16) unsigned NOT NULL,
    ) ENGINE = InnoDB
    ma partie admin:
    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
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
     
    <!-- creation du type de formulaire  -->
    <html>
    <head>
    <link href="styles.css" rel="stylesheet" type="text/css">
    <script language="JavaScript">
    <!--debut de la fonction javascript
    function verifSelection() {
    if ((mail_a_form.champs_texte.checked == "") && (mail_a_form.email.checked == "") && (mail_a_form.liste.checked == "") && (mail_a_form.bouton.checked == "") && (mail_a_form.case_a_cocher.checked == "") && (mail_a_form.zone_texte.checked == "")) {
    alert("Vous devez cocher au moins un élément.")
    return false
    } 
    } 
    // Fin de la fonction
    </script>
     
    </head>
    <body>
    <table width="602" height="280" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td align="left" valign="top">
          <form name="mail_a_form" action="formulaire.php" onSubmit="return verifSelection()" method="post" id=h3sForm>
            <fieldset>
            <fieldset class=radio>
            <h3></h3>
            <table width="602" border="0">
              <tr> 
                <td width="31"><input type="checkbox" class="label" name="champs_texte" value="active"> 
                </td>
                <td width="192"><label>Champs de texte</label></td>
                <td width="58"><label>Quantité :</label></td>
                <td width="119"> 
    				<select name="nbre_champs_texte" size="1">
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                    <option value="13">13</option>
                    <option value="14">14</option>
                    <option value="15">15</option>
                    <option value="16">16</option>
                    <option value="17">17</option>
                    <option value="18">18</option>
                    <option value="19">19</option>
                    <option value="20">20</option>
                  </select></td>
                <td width="180"> 
                  <div align="left"><a href="#" class="screen" onMouseOver="layertohide1.style.visibility='hidden';layertohide2.style.visibility='hidden';layertohide3.style.visibility='hidden';layertohide4.style.visibility='hidden'" onMouseOut="layertohide1.style.visibility='visible';layertohide2.style.visibility='visible';layertohide3.style.visibility='visible';layertohide4.style.visibility='visible'"><b> 
                    <div><u>Champs de texte</u>:<br>
                      </div>
                    </b></a> </div>
                </td>
              </tr>
     
    		  <tr> 
                <td width="31"><input type="checkbox" name="email" value="active"></td>
                <td width="192"><label>Zone de saisie d'adresse e-mail</label></td>
                <td width="58"><label>Quantité :</label></td>
                <td width="119"><div id="layertohide1" style="visibility: visible"> 
                    <select name="nbre_zones_email" size="1">
                      <option value="1">1</option>
                      <option value="2">2</option>
                      <option value="3">3</option>
                      <option value="4">4</option>
                      <option value="5">5</option>
                      <option value="6">6</option>
                      <option value="7">7</option>
                      <option value="8">8</option>
                      <option value="9">9</option>
                      <option value="10">10</option>
                      <option value="11">11</option>
                      <option value="12">12</option>
                      <option value="13">13</option>
                      <option value="14">14</option>
                      <option value="15">15</option>
                      <option value="16">16</option>
                      <option value="17">17</option>
                      <option value="18">18</option>
                      <option value="19">19</option>
                      <option value="20">20</option>
                    </select>
                  </div></td>
                <td width="180"> 
                  <div align="left"><a class="screen" href="#" onMouseOver="layertohide2.style.visibility='hidden';layertohide3.style.visibility='hidden';layertohide4.style.visibility='hidden';layertohide5.style.visibility='hidden'" onMouseOut="layertohide2.style.visibility='visible';layertohide3.style.visibility='visible';layertohide4.style.visibility='visible';layertohide5.style.visibility='visible'"><b> 
                    <div><u>Zone d'adresse e-mail</u>:<br>
                      </div>
                    </b></a></div>
                </td>
              </tr>
              <tr> 
                <td><input name="liste" type="checkbox" id="liste" value="active"></td>
                <td><label>Liste d&eacute;roulante</label></td>
                <td><label>Quantité :</label></td>
                <td><div id="layertohide2" style="visibility: visible"><select name="nbre_listes" size="1" id="nbre_listes">
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                    <option value="13">13</option>
                    <option value="14">14</option>
                    <option value="15">15</option>
                    <option value="16">16</option>
                    <option value="17">17</option>
                    <option value="18">18</option>
                    <option value="19">19</option>
                    <option value="20">20</option>
                  </select></div></td>
                <td><a class="screen" href="#" onMouseOver="layertohide3.style.visibility='hidden';layertohide4.style.visibility='hidden';layertohide5.style.visibility='hidden'" onMouseOut="layertohide3.style.visibility='visible';layertohide4.style.visibility='visible';layertohide5.style.visibility='visible'"><b> 
                  <div><u>Liste déroulante</u>:<br>
                    </div>
                  </b></a></td>
              </tr>
              <tr> 
                <td><input name="bouton" type="checkbox" id="bouton" value="active"></td>
                <td><label>Bouton radio</label></td>
                <td><label>Quantité :</label></td>
                <td><div id="layertohide3" style="visibility: visible"><select name="nbre_boutons" size="1" id="nbre_boutons">
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                    <option value="13">13</option>
                    <option value="14">14</option>
                    <option value="15">15</option>
                    <option value="16">16</option>
                    <option value="17">17</option>
                    <option value="18">18</option>
                    <option value="19">19</option>
                    <option value="20">20</option>
                  </select></div></td>
                <td><a class="screen" href="#" onMouseOver="layertohide4.style.visibility='hidden';layertohide5.style.visibility='hidden'" onMouseOut="layertohide4.style.visibility='visible';layertohide5.style.visibility='visible'"><b> 
                  <div><u>Bouton radio</u>:<br>
                    </div>
                  </b></a></td>
              </tr>
              <tr> 
                <td><input name="case_a_cocher" type="checkbox" id="case_a_cocher" value="active"></td>
                <td><label>Case &agrave; cocher</label></td>
                <td><label>Quantité :</label></td>
                <td><div id="layertohide4" style="visibility: visible"><select name="nbre_cases" size="1" id="select2">
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                    <option value="13">13</option>
                    <option value="14">14</option>
                    <option value="15">15</option>
                    <option value="16">16</option>
                    <option value="17">17</option>
                    <option value="18">18</option>
                    <option value="19">19</option>
                    <option value="20">20</option>
                  </select></div></td>
                <td><a class="screen" href="#" onMouseOver="layertohide5.style.visibility='hidden'" onMouseOut="layertohide5.style.visibility='visible'"><b> 
                  <div><u>Case à cocher</u>:<br>
                    </div>
                  </b></a></td>
              </tr>
              <tr> 
                <td width="31"><input type="checkbox" name="zone_texte" value="active"></td>
                <td width="192"><label>Zone de saisie de texte</label></td>
                <td width="58"><label>Quantité :</label></td>
                <td width="119"> <div id="layertohide5" style="visibility: visible"> 
                    <select name="nbre_zones_texte" size="1">
                      <option value="1">1</option>
                      <option value="2">2</option>
                      <option value="3">3</option>
                      <option value="4">4</option>
                      <option value="5">5</option>
                      <option value="6">6</option>
                      <option value="7">7</option>
                      <option value="8">8</option>
                      <option value="9">9</option>
                      <option value="10">10</option>
                      <option value="11">11</option>
                      <option value="12">12</option>
                      <option value="13">13</option>
                      <option value="14">14</option>
                      <option value="15">15</option>
                      <option value="16">16</option>
                      <option value="17">17</option>
                      <option value="18">18</option>
                      <option value="19">19</option>
                      <option value="20">20</option>
                    </select>
                  </div></td>
                </tr>
            </table>
            </fieldset>
            <center><table width="250" border="0">
                <tr> 
                  <td width="120"><input name="precedente" type="button" class="submit" value="&lt;&lt; Pr&eacute;c&eacute;dente" onClick="history.go(-1)"></td>
                  <td width="120"><input name="page2_submit" type="submit" class="submit" value="Suivante &gt;&gt;"></td>
                </tr>
              </table>
              </center>
            </fieldset>
          </form></td>
      </tr>
    </table>
    <!-- fin type formulaire --
    <?php
    //recuperation type
    session_start ()
    //on ouvre la base de donnée
     
     
     
    ?>
    je ne vois pas comment recuperer les champs du formulaire afin de les inserer dans la base?
    merci d'avance
    sam

  12. #12
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Points : 470
    Points
    470
    Par défaut
    Comme je te le disais, il est nécessaire et indispensable que tu comprenne comment fonctionne un base de données relationnelle, sinon, c'est nous qui allons devoir rédiger l'ensemble de ton projet pendant que tu vas avancer a tâtonnement et sans rien comprendre...

    Là, on t'as déjà donné des bases, qu'il faut que tu comprennes, ce qui n'a pas du tout l'air d'être le cas au vu de ton dernier essai...

    Je peux pas te faire un cours la dessus sur le forum, mais voilà au moins un lien qui a l'air pas mal complet : http://cerig.efpg.inpg.fr/tutoriel/b...s/sommaire.htm

    PS : le session_start, c'est toujours en début de fichier ou du moins avant le 1er envoie de contenu vers le navigateur.

    EDIT : excuse, j'ai mal lu, ta derniere base ressemble a quelque chose, mais pour ce qui est de l'extrait de code, c'est du HTML... Et on est surtout censé t'aider pour le PHP ici...
    Bref...
    Il faut que tu commence la redaction d'une page qui permet de rajouter un nouvel enregistrement dans la table formulaire (question), une page qui permet d'ajouter des propositions a tes questions et une page qui te permette de répondre, ce qui viendra en dernier... On ne peut pas rédiger l'ensemble de ton code, donc commence par regarder comment on ajoute un enregistrement a une table, parce que la 1er étape, ce n'est que ça ! Le nombre de propositions, tu le gérera de façon dynamique une fois que tu auras créé la page permettant d'enregistrer un nouveau formulaire sans chois associés.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Points : 62
    Points
    62
    Par défaut
    merci beaucoup
    pour ces informations utiles
    en cas de problème je reviens

    sam

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Points : 62
    Points
    62
    Par défaut
    je ne vois pas comment faire?
    le but, ce serais de pouvoir crée autant de formulaire par un bouton ajouter par exemple qui s'inseré dans la base avec le choix du type du formulaire, mais comment arriver a ce resultat en php?

    qqn pourrait-il m'eclaircir, me montrer avec des commentaire?

    merci de votre aide
    sam!

  15. #15
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Points : 470
    Points
    470
    Par défaut
    Voilà... J'étais sur que ça allait arriver...

    Page pour créer un nouveau formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form method="POST" action="page2.php">
    nom :<input type="text" name="nom_du_formulaire"><br>
    type : <select name="type_du_formulaire"><option value="1"></option><option value="2"></option></select><br>
    <input type="submit" value="creer">
    </form>
    Page2.php qui va enregistrer le nouveau formulaire (et moi, je met le type dans formulaire, pas dans le choix)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    // initialisation BDD ici
    mysql_query('insert into formulaire (question, type_formulaire) values ("'.mysql_escape_string($_POST['nom_du_formulaire']).'", '.intval($_POST['type_du_formulaire']).')') or die(mysql_error());
    // Voilà, le formulaire est créé !
    $id_formulaire = mysql_insert_id(); // on recup l'id du nouveau formulaire...
    echo '<a href="./page3.php?id_formulaire='.$id_formulaire.'">Ajouter des choix aux formulaire</a>';
    ?>
    page3.php qui va permettre d'ajouter des choix au formulaire dont l'id est passé en parametre :

    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
    <?php
    $id_formulaire = $_POST['id_formulaire']; // on recupere le parametre id_formulaire
    if(!$id_formulaire) $id_formulaire = $_GET['id_formulaire']; // au cas ou on le trouve pas dans POST
    // on verifie que notre formulaire existe bien...
    $r = mysql_query('select * from formulaire where id_formulaire = '.intval($id_formulaire).'') or die mysql_error();
    if($f = mysql_fetch_assoc($r))
    {
     // le formulaire existe bien, on fait rien..
    }
    else
       die('le formulaire existe pas');
    // si on reçoit une demande d'enregistrement
    if($_POST['ordre'] == 'enregistre')
    {
       mysql_query('insert into proposition (formulaire_associe, nom_proposition) values ('.$id_formulaire.', "'.mysql_escape_string($_POST['nom_proposition']).'")') or die(mysql_error()); // On ajoute la nouvelle proposition associée au formulaire...
    }
    // Affichage nom du formulaire et liste de choix
    echo '<center><h1>'.htmlentities($f['question']).'</h1></center>';
    $r2 = mysql_query('select * from proposition where formulaire_associe = '.$id_formulaire.'') or die(mysql_error());
    while($p = mysql_fetch_assoc($r2))
       echo '&bull; '.htmlentities($p['nom_proposition']).'<br>';
    ?>
    <form method="POST" action="./page3.php">
    <input type="hidden" name="id_formulaire" value="<?php echo $id_formulaire; ?>"><input type="hidden" name="ordre" value="enregistrer">
    Proposition : <input type="text" name="nom_proposition"><br>
    <input type="submit" value="Enregistrer">
    </form>
    Pour les connaisseur, inutile de me reprendre sur la qualité du code, c'est une piste à "main levée" que je donne... Sécurité, isset et autre optimisation sql, je ne peux pas rédiger tout le projet non plus...

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Points : 62
    Points
    62
    Par défaut
    merci .
    mais je ne vois pas comment insérer le type du formulaire.
    j'ai ajouté type dans la table formulaire ainsi que dans insert.
    dans idéal ce serait je puissent inserer la question avec le nombre de champ avec le type sur la première page. soit la question qui comporterait 5 champ type radio par exemple.
    la bdd devient:
    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
     
    DROP TABLE IF EXISTS `formulaire` ;
    CREATE TABLE `formulaire` (
    id_formulaire int(16) unsigned NOT NULL,
    question VARCHAR (100) NOT NULL ,
    type int(16) unsigned NOT NULL,
    PRIMARY KEY ( `id_formulaire` )
    ) ENGINE = InnoDB
     
    DROP TABLE IF EXISTS `proposition` ;
    CREATE TABLE `proposition` (
    id_proposition int(16) unsigned NOT NULL,
    formulaire_associe int(16) unsigned NOT NULL,
    nom_proposition VARCHAR (100) NOT NULL,
    PRIMARY KEY ( `id_proposition` )
    ) ENGINE = InnoDB
     
    DROP TABLE IF EXISTS `reponse` ;
    CREATE TABLE `reponse` (
    user int(16) unsigned NOT NULL,
    proposition int(16) unsigned NOT NULL,
    formulaire int(16) unsigned NOT NULL,
    ) ENGINE = InnoDB
    une erreur a la page3.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
    <?php
    require('configuration.php');
    $id_formulaire = $_POST['id_formulaire']; // on recupere le parametre id_formulaire
    if(!$id_formulaire) $id_formulaire = $_GET['id_formulaire']; // au cas ou on le trouve pas dans POST
    // on verifie que notre formulaire existe bien...
    erreur syntax error, unexpected T_STRING in$r = mysql_query('select * from formulaire where id_formulaire = '.intval($id_formulaire).'') or die mysql_error();
    if($f = mysql_fetch_assoc($r))
    {
     // le formulaire existe bien, on fait rien..
    }
    else
       die('le formulaire existe pas');
    // si on reçoit une demande d'enregistrement
    if($_POST['ordre'] == 'enregistre')
    {
       mysql_query('insert into proposition (formulaire_associe, nom_proposition) values ('.$id_formulaire.', "'.mysql_escape_string($_POST['nom_proposition']).'")') or die(mysql_error()); // On ajoute la nouvelle proposition associée au formulaire...
    }
    // Affichage nom du formulaire et liste de choix
    echo '<center><h1>'.htmlentities($f['question']).'</h1></center>';
    $r2 = mysql_query('select * from proposition where formulaire_associe = '.$id_formulaire.'') or die(mysql_error());
    while($p = mysql_fetch_assoc($r2))
       echo '&bull; '.htmlentities($p['nom_proposition']).'<br>';
    ?>
    <form method="POST" action="./page3.php">
    <input type="hidden" name="id_formulaire" value="<?php echo $id_formulaire; ?>"><input type="hidden" name="ordre" value="enregistrer">
    Proposition : <input type="text" name="nom_proposition"><br>
    <input type="submit" value="Enregistrer">
    </form>

  17. #17
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Points : 470
    Points
    470
    Par défaut
    Il y a des erreurs car j'ai tapé le code à la volée et que je l'ai pas tester...

    C'était à but pédagogique, pas pour rédiger moi même ton projet.

    Il va falloir que tu y mette un peu du tiens aussi...

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Points : 62
    Points
    62
    Par défaut
    re-bonjour,

    j'ai crée le formulaire qui permet insérer la questions et le type de formulaire et son nombre. par exemple: quel est le meilleur language? choix de bouton x(radio, tete,etc....)
    voici son code:
    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
     
    <form method="POST" action="insert.php">
    nom :<input type="text" name="nom_du_formulaire" value="active"><br>
    type : 
    <label>champ texte</label><br />
    <select name="nbre_champ_texte" size="1">
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                    <option value="13">13</option>
                    <option value="14">14</option>
                    <option value="15">15</option>
                    <option value="16">16</option>
                    <option value="17">17</option>
                    <option value="18">18</option>
                    <option value="19">19</option>
                    <option value="20">20</option>
                  </select><br />
    <label>checkbox</label><br />
    <select name="nbre_type_checkbox" size="1">
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                    <option value="13">13</option>
                    <option value="14">14</option>
                    <option value="15">15</option>
                    <option value="16">16</option>
                    <option value="17">17</option>
                    <option value="18">18</option>
                    <option value="19">19</option>
                    <option value="20">20</option>
                  </select><br />
    <label>type radio</label><br />
    <select name="nbre_type_radio" size="1">
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                    <option value="13">13</option>
                    <option value="14">14</option>
                    <option value="15">15</option>
                    <option value="16">16</option>
                    <option value="17">17</option>
                    <option value="18">18</option>
                    <option value="19">19</option>
                    <option value="20">20</option>
                  </select><br />
    <label>Boutons</label><br />
    <select name="nbre_type_boutons" size="1">
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                    <option value="13">13</option>
                    <option value="14">14</option>
                    <option value="15">15</option>
                    <option value="16">16</option>
                    <option value="17">17</option>
                    <option value="18">18</option>
                    <option value="19">19</option>
                    <option value="20">20</option>
                  </select><br /><br />
    <input type="submit" value="creer">
    </form>
    apres j'essaye de recuperer ces donnée pour les inséré dans la base mysql donc le probleme ou ya que le texte de la question qui s'insére
    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
     
    <?php
    session_start();
    //on se connecte a la bdd
    require('configuration.php');
    // on enregistre la question dans la bdd
    mysql_query('insert into formulaire (question, id_formulaire) values ("'.mysql_escape_string($_POST['nom_du_formulaire']).'", '.intval($_POST['type_du_formulaire']).')') or die(mysql_error());
    //on récupére les informations du formulaire
    if ($_POST['nbre_champ_texte'] == "active")  {
    $_SESSION['nbre_champ_texte'] = $_POST['nbre_champs_texte'];
    } else {
    $_SESSION['nbre_champ_texte'] = 0;
    }
    //on regarde s'il est different de 0
    if ($_SESSION['nbre_champ_texte'] != 0) {
    //et on insére dans  la bdd
    mysql_query('insert into formulaire (type, nbre_type) values ("'.mysql_escape_string($_POST['nom_du_formulaire']).'", '.intval($_POST['type_du_formulaire']).')') or die(mysql_error());
    }
    //on récupére les informations du formulaire
    if ($_POST['nbre_type_radio'] == "active")  {
    $_SESSION['nbre_type_radio'] = $_POST['nbre_champs_texte'];
    } else {
    $_SESSION['nbre_type_radio'] = 0;
    }
    //on regarde s'il est different de 0
    if ($_SESSION['nbre_type_radio'] != 0) {
    //et on insére dans  la bdd
    mysql_query('insert into formulaire (type, nbre_type) values ("'.mysql_escape_string($_POST['nom_du_formulaire']).'", '.intval($_POST['type_du_formulaire']).')') or die(mysql_error());
    }
    //on récupére les informations du formulaire
    if ($_POST['nbre_type_checkbox'] == "active")  {
    $_SESSION['nbre_type_checkbox'] = $_POST['nbre_champs_texte'];
    } else {
    $_SESSION['nbre_type_checkbox'] = 0;
    }
    //on regarde s'il est different de 0
    if ($_SESSION['nbre_type_checkbox'] != 0) {
    //et on insére dans  la bdd
    mysql_query('insert into formulaire (type, nbre_type) values ("'.mysql_escape_string($_POST['nom_du_formulaire']).'", '.intval($_POST['type_du_formulaire']).')') or die(mysql_error());
    }
    //on récupére les informations du formulaire
    if ($_POST['nbre_type_boutons'] == "active")  {
    $_SESSION['nbre_type_boutons'] = $_POST['nbre_champs_texte'];
    } else {
    $_SESSION['nbre_type_boutons'] = 0;
    }
    //on regarde s'il est different de 0
    if ($_SESSION['nbre_type_boutons'] != 0) {
    //et on insére dans  la bdd
    mysql_query('insert into formulaire (type, nbre_type) values ("'.mysql_escape_string($_POST['nom_du_formulaire']).'", '.intval($_POST['type_du_formulaire']).')') or die(mysql_error());
    }
     
    // Voilà, le formulaire est créé !
    $id_formulaire = mysql_insert_id(); // on recup l'id du nouveau formulaire...
    echo '<a href="./choix.php">Ajouter des choix aux formulaire</a>';
    ?>
    merci par avance de votre aide

  19. #19
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Points : 470
    Points
    470
    Par défaut
    Essayes de comprendre l'extrait de code que je t'ai envoyé...

    Il s'agit d'une création dynamique de propositions... il n'y a pas besoin de dire a l'avance combien tu veux de propositions ! Pourquoi ?

    - parce que c'est pédagogiquement plus interessant
    - parce que c'est plus pratique a l'utilisation (on fait au fur et a mesure, pas besoin de connaitre a l'avance le nombre de propositions... Si on veut en rajouter une, on clique sur "ajouter une proposition")
    - parce que c'est beaucoup plus simple à programmer

    Ensuite, si tu tiens absolument a définir a l'avance le nombre de champs, pas de soucis, tu peux (c'est pas à moi de définir comment ça va marcher), mais tu vas t'arracher les cheveux si tu débutes. Va falloir que tu commence par faire une boucle for() qui va créer tous les enregistrements voir un formulaire de saisie en JS dynamique... Après, faudra que tu mette le textes dedans, donc tu vas te trimballer des gros formulaires bien casse pied que tu devras valider ligne par ligne si tu veux être obligé de programmer un système à paramètre multiples... Enfin libre à toi...

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Points : 62
    Points
    62
    Par défaut
    merci pour les informations
    ce que je souhaite faire en php, ressemble beaucoup a un generateur de formulaire:
    j'entends par la:
    une partie admin:
    - une question peut avoir plusieurs formulaire de type différent avec autant de proposition mais le genere automatiquement par une interface admin.

    une partie affichage:
    - qui permettrais affiché les formulaire decrit au dessus et compté les nombres de reponse en pourcentage.

    une partie archive:
    - la partie des anciens formulaires.

    maintenant le php c tout nouveau et j'imagine bien que pour un dev web ca doit etre assez simple. si qqn connaissais un cms ou un projet en open source deja existant ressemblant à ce projet, je suis preneur sinon de grosse difficulté a m'adapté a ce language, ces declarations et ces fonctions.

    merci de votre aide
    sam!

Discussions similaires

  1. [MySQL] Formulaire PHP ->MySQL
    Par shub dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 09/02/2010, 22h42
  2. [MySQL] Probléme de apostrophe a mettre en formulaire php/mysql
    Par mecmec dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/06/2007, 20h42
  3. [MySQL] Formulaire PHP --> MySQL
    Par Badaboumpanpan dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 23/06/2006, 17h19
  4. Formulaire PHP-MySQL
    Par fara morgana dans le forum Langage
    Réponses: 11
    Dernier message: 09/05/2006, 15h46
  5. [MySQL] Bug Formulaire PHP-MySQL
    Par Davboc dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 01/03/2006, 15h15

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