[PHP MYSQL] Aide pour questionnaires par PHP

Fermé
Claude WOLTER - 8 avril 2005 à 15:14
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 17 mai 2005 à 11:00
Salut,

Je suis une nullité, mais j'utilise un PC à longueur de journée depuis des années, depuis les écran verts monochromes, donc pas complétement manchot non plus.

Je gère une structure spécialisée dans l'évaluation de santé publique, et je diffuse de courts questionnaires (20/30 items max) à des centaines de destinataires, par la poste, qui me les renvoient et que je saisis un à un.

Je perds un temps fou, et je me ruine en affranchissement.

Je sais que c'est possible, mais j'ignore absolument comment on fait (PHP MYSQL m'a t'on dit, mais celà ne m'avance pas beaucoup), je voudrais que mes "clients" se connectent à un site (à créer), qu'ils affichent le questionnaire, qu'ils le renseignent, et que je récupère le tout via internet, quelqu'un peut-il m'aider?

Merci d'avance, et merci d'exister, bises

Claude WOLTER
A voir également:

12 réponses

bien sûr, nous pouvons communiquer par e-mail, mais disons qu'à l'avenir, cela interessera sûrement d'autres personnes...
comment puis je te faire passer mon email ?
1
breuge Messages postés 139 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 20 juin 2005 28
8 avril 2005 à 16:34
embauchez moi en CDD ^^
0
Claude WOLTER
8 avril 2005 à 23:38
Salut Breuge,

J'y avais déja pensé, l'ennui c'est que je ne peux pas, tout simplement pas les moyens, et il me faut acquérir cette compétence, pas simplement "acheter" la prestation ou faire faire à ma place. Une rétribution n'est pas nécessairement exclue, mais elle ne peut être que symbolique.

Ceci dit je comprends parfaitement en quoi chercher (et trouver) du travail est important pour toi. Pour ce qui me concerne, je me suis mis en free lance, et c'est pas tous les jours bizance.
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857 > Claude WOLTER
8 avril 2005 à 23:57
Ben écoute moi je ne suis même pas Free lance, mais Free tout court et j'aurais pu te le faire, mais je comprend parfaitement que tu veuille savoir le faire par tes propres moyens : moi même g horreur qu'on me fasse tout à ma place quand je sens que j'ai la capacité de le faire.
Alors pour ce qui est des tutos, je peux t'en filer des tas, mais faut attendre encore jusqu'à lundi si tu peux. En attendant, vu que c'est pas un gros truc, je te conseil de télécharger easyPhp et EditPlus2 par exemple pour l'éditeur (Ou alors, tu attend patienment jusqu'à lundi et je te les envoy).
Pour ce qui est du téléchargement tu as dit que tu n'était pas manchot alors je me doute que tu sera capable de faire les recherches.

Bonne chance et redi moi !

@++
0
Claude WOLTER > kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013
10 avril 2005 à 00:04
Salut,

OK, je viens de prendre connaissance de ton message, j'attends lundi pour lire tes conseils (on peut même se téléphoner) et parallèlement je me démerde pour télécharger easy PHP et edith peluchedeux, merci à toi

bye

Claude
0
Claude WOLTER > kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013
10 avril 2005 à 00:17
Et voilà, j'ai sur mon disque dur easy PHPsetup, ainsi que le module language TXT et un truc nommé easyPHP manager.

J'ai editplus2 version d'évaluation en anglais, tout baigne.

à lundi, bon weekend ;)
0
Anne88 Messages postés 190 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 7 mars 2008 36
17 avril 2005 à 04:58
Bonsoir,

Je cherchais justement des infos concernant des formulaires, et je tombe pile poil sur votre discussion.

Il se trouve que je suis "webmaster" (c'est un bien grand mot) d'un site créé par un autre webmaster et que j'ai eu la chance de récupérer :(

Ce site est un site de supporters d'un club sportif et le bureau de cette association souhaterait que l'on crée une section quiz qui récompenserait le gagnant de chaque quiz mensuel d'une entrée gratuite à un match et aussi afficher sur le site, le classement des personnes qui auront répondu à ce quiz.

J'utilise Dreamweaver MX 2004 pour mettre à jour ce site (je précise qu'il y a à peine 6 mois, je ne savais pas ce que c'était)

D'après ce que j'ai lu, il me faut utiliser du php et une base de données.

J'ai bien trouvé en cherchant sur différents sites un script pour faire le formulaire dont je copie ici le script et qui intéressera peut-être Claude (ou qui lui donnera déjà une piste...)

<form method="post" action="cible_formulaire.php">

<fieldset>
<legend>Vos coordonnées</legend>

<label>Quel est votre nom ?<br />
<input type="text" name="nom" tabindex="10" />
</label><br />
<label>Quel est votre prénom ?<br />
<input type="text" name="prenom" tabindex="20" />
</label><br />
<label>Quel est votre e-mail ?<br />
<input type="text" name="email" tabindex="30" />
</label>
</fieldset>

<fieldset>
<legend>Votre souhait</legend>

<p>
Faites un souhait que vous voudriez voir exaucé :<br />
<label><input type="radio" name="souhait" value="riche" tabindex="40" /> Etre riche</label><br />
<label><input type="radio" name="souhait" value="celebre" tabindex="50" /> Etre célèbre</label><br />
<label><input type="radio" name="souhait" value="intelligent" tabindex="60" /> Etre <strong>encore</strong> plus intelligent</label><br />
<label><input type="radio" name="souhait" value="autre" tabindex="70" /> Autre...</label><br />
</p>

<p>
<label>Si "Autre", veuillez préciser :<br />
<textarea name="precisions" cols="40" rows="4" tabindex="80"></textarea></label>
</p>
</fieldset>


<p>
<input type="submit" /> <input type="reset" />
</p>

</form>


mais le problème commence là... je comprends rien dans les BD.

Je pense donc que ce que tu expliqueras à Claude pourra peut-être me servir :)

Sinon, comme Claude, j'ai chargé ce que Kij_82 préconisait et j'attends avec joie les explications qu'il nous donnera.

Bye.

Anne
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
17 avril 2005 à 06:31
Bonsoir, bonsoir.. ou plutot bonjours vu l'heure !

Euh, je viens de prendre connaissance de vos messages, je n'avait pas vu que vous aviez répondu. Est ce que ca serait possible de me faire une syntese de ce que vous avez besoin exactement ? Je vous répondrais demain, car la je vais faire dodo;

@++
0
Anne88 Messages postés 190 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 7 mars 2008 36
18 avril 2005 à 03:24
Bonsoir,

Si tu veux voir Kij_82, je te donne l'adresse de ma page http://www.lameute.net/formulaire%20quizz%201.php où se trouve le formulaire.

Le problème, c'est quand je valide le formulaire, je souhaiterais recevoir dans ma messagerie <mais je crois que ce n'est pas possible> ou dans une base de données, les résultats du formulaire afin que je puisse dépouiller les réponses et faire le classement.

Je n'arrive pas non plus à générer un mail de confirmation de participation à celui qui aura répondu au questionnaire.

Je ne sais pas si je dois copier ici le script de la page. Si oui, tu le dis et je le ferai aussitôt.

Voilà, sinon, je suis à ta disposition pour d'autres renseignements.

Merci du temps que tu pourras passer sur mon cas.

Anne
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857 > Anne88 Messages postés 190 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 7 mars 2008
18 avril 2005 à 10:12
Bonjours anne88, le mieux pour les traitements que tu a a faire est de créer un base de données. Celle-ci sera relativement courte de toute facon et ne devrait contenir que huit tables ('Formulaire', 'Question', 'Contient', 'Utilisateur', 'Réponse', 'a_répondu', 'a_pour_reponse_juste' et 'possibilité_réponse'.

Donc, pour cela, il va falloir te munir de EasyPHP (Que tu trouvera facilement sur le Net (Gratuit) sur télécharger.com par exemple.
Un éditeur tel que EditPlus2 ou autre qui prenne en compte le php.

Ensuite, et bien il te faudra rechercher de la doc sur SQL (tu connais ?), SQL est le langage pour les bases de données. Pour le php, ce n'est pas la peine de prendre des tutos car on n'en aurra pas une utilisation tres poussée. Euh, oui sinon tu peux commencer à apprendre à te seervir de EasyPHP : lorque tu aura tout installé, lancer EasyPHP. Dans la barre des tache en bas à droite sur ton écran tu clique droit sur l'icone EasyPHP et tu lance Administration (ou un équivalent). Dans l'écran qui apparait ensuite tu clique sur PHPMyAdmin. Et la et bien tu lit et tu suit les instruction pour découvrir l'univers de ce logiciel (C'est relativement simple).

Je te recontacterais pour la suite mais si tu as des roblemes, n'hésite pas.

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Anne88 Messages postés 190 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 7 mars 2008 36
19 avril 2005 à 00:10
Bonsoir Kij_82,

J'ai déjà téléchargé EasyPHP puisque j'ai essayé de faire le cours sur les bases de données du site du zéro http://www.siteduzero.com/xhtml-css/ mais évidemment, je n'ai rien compris :(:( mais il est vrai que c'est pas évident de faire les exercices quand on ne peut pas imprimer le cours (j'ai pas d'imprimante), alors je suis obligée de passer du cours à la pratique, et à chaque fois, regarder la bonne orthographe des mots, du coup... je patauge vraiment.

Ca fait déjà plus de 2 mois que j'y passe une grande partie de mes nuits et tout ça pour rien :( ça devient même désespérant à force, et 5 minutes après avoir vu un truc, je l'oublie à force de passer du cours à la pratique.

Donc je vais essayer de perséverer et de trouver quelqu'un dans mon entourage qui aura la gentillesse de m'imprimer le cours, peut-être que ça ira mieux.

En tout cas, je te remercie pour ton aide.

Bye

Anne
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
19 avril 2005 à 10:59
Tu peux m'envoyer ton mail anne88, je t'ai fais un script d'exemple de création automatique de formulaire de question en fonction des élément d'une base de donnée, histoire que tu galère pas trop.


@++
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
19 avril 2005 à 11:45
Sinon, voilà le code qui te permet de faire la base de donnée que tu veux :

# phpMyAdmin MySQL-Dump
# version 2.2.6
# http://phpwizard.net/phpMyAdmin/
# http://www.phpmyadmin.net/ (download page)
#
# Serveur: localhost
# Généré le : Mardi 19 Avril 2005 à 09:40
# Version du serveur: 3.23.49
# Version de PHP: 4.2.0
# Base de données: `questionnaire`
# --------------------------------------------------------

#
# Structure de la table `a_repondu`
#

DROP TABLE IF EXISTS a_repondu;
CREATE TABLE a_repondu (
  id_utilisateur int(11) NOT NULL default '0',
  id_reponse int(11) NOT NULL default '0',
  id_question int(11) NOT NULL default '0',
  id_formulaire int(11) NOT NULL default '0',
  PRIMARY KEY  (id_utilisateur,id_reponse,id_question,id_formulaire)
) TYPE=MyISAM;

#
# Contenu de la table `a_repondu`
#

# --------------------------------------------------------

#
# Structure de la table `formulaire`
#

DROP TABLE IF EXISTS formulaire;
CREATE TABLE formulaire (
  id_formulaire int(2) NOT NULL auto_increment,
  libelle_form varchar(30) NOT NULL default '',
  PRIMARY KEY  (id_formulaire)
) TYPE=MyISAM COMMENT='Table concernant les attribut d''un formulaire';

#
# Contenu de la table `formulaire`
#

INSERT INTO formulaire VALUES (1, 'inscription');
INSERT INTO formulaire VALUES (2, 'numéro_1');
# --------------------------------------------------------

#
# Structure de la table `possibilite_reponse`
#

DROP TABLE IF EXISTS possibilite_reponse;
CREATE TABLE possibilite_reponse (
  id_question int(11) NOT NULL default '0',
  id_reponse int(11) NOT NULL default '0',
  juste enum('f','t') NOT NULL default 'f',
  PRIMARY KEY  (id_question,id_reponse)
) TYPE=MyISAM;

#
# Contenu de la table `possibilite_reponse`
#

INSERT INTO possibilite_reponse VALUES (1, 1, 'f');
INSERT INTO possibilite_reponse VALUES (1, 2, 't');
INSERT INTO possibilite_reponse VALUES (1, 3, 'f');
INSERT INTO possibilite_reponse VALUES (1, 4, 'f');
INSERT INTO possibilite_reponse VALUES (1, 5, 'f');
INSERT INTO possibilite_reponse VALUES (2, 6, 'f');
INSERT INTO possibilite_reponse VALUES (2, 7, 'f');
INSERT INTO possibilite_reponse VALUES (2, 8, 't');
INSERT INTO possibilite_reponse VALUES (2, 9, 'f');
# --------------------------------------------------------

#
# Structure de la table `question`
#

DROP TABLE IF EXISTS question;
CREATE TABLE question (
  id_question int(3) NOT NULL auto_increment,
  libelle_quest varchar(100) NOT NULL default '',
  multirep enum('f','t') NOT NULL default 'f',
  PRIMARY KEY  (id_question)
) TYPE=MyISAM COMMENT='Attribut d''une question';

#
# Contenu de la table `question`
#

INSERT INTO question VALUES (1, 'quelle est la couleur du cheval blanc d\'Henry IV ?', 'f');
INSERT INTO question VALUES (2, 'Parmi ces propositions, laquelle c\'est pas juste ?', 'f');
# --------------------------------------------------------

#
# Structure de la table `regroupe`
#

DROP TABLE IF EXISTS regroupe;
CREATE TABLE regroupe (
  id_formulaire int(11) NOT NULL default '0',
  id_question int(11) NOT NULL default '0',
  PRIMARY KEY  (id_formulaire,id_question)
) TYPE=MyISAM;

#
# Contenu de la table `regroupe`
#

INSERT INTO regroupe VALUES (2, 1);
INSERT INTO regroupe VALUES (2, 2);
# --------------------------------------------------------

#
# Structure de la table `reponse`
#

DROP TABLE IF EXISTS reponse;
CREATE TABLE reponse (
  id_reponse int(4) NOT NULL auto_increment,
  libelle_rep varchar(100) NOT NULL default '',
  PRIMARY KEY  (id_reponse)
) TYPE=MyISAM COMMENT='Attributs d''une reponse';

#
# Contenu de la table `reponse`
#

INSERT INTO reponse VALUES (1, 'Rouge');
INSERT INTO reponse VALUES (2, 'Blanc');
INSERT INTO reponse VALUES (3, 'Jaune');
INSERT INTO reponse VALUES (4, 'Noir');
INSERT INTO reponse VALUES (5, 'Violet');
INSERT INTO reponse VALUES (6, 'Cette année, nous allons changer de président.');
INSERT INTO reponse VALUES (7, 'La moto est un sport.');
INSERT INTO reponse VALUES (8, 'Nous sommes en 2005');
INSERT INTO reponse VALUES (9, 'Je viens d aller au toilette.');
# --------------------------------------------------------

#
# Structure de la table `utilisateur`
#

DROP TABLE IF EXISTS utilisateur;
CREATE TABLE utilisateur (
  id_utilisateur int(11) NOT NULL auto_increment,
  nom varchar(30) NOT NULL default '',
  prenom varchar(30) NOT NULL default '',
  email varchar(50) NOT NULL default '',
  PRIMARY KEY  (id_utilisateur)
) TYPE=MyISAM COMMENT='Attributs d''un utilisateur';

#
# Contenu de la table `utilisateur`
#

INSERT INTO utilisateur VALUES (1, 'kij_82', 'nicolas', 'kij_82@hotmail.fr');


Tu dois éxécuter ce script dans phpmyadmin, et pour cela tu fais :
- tu copie le texte ci-dessus dans un fichier "base.sql" que tu place ou tu veux.
- tu va dans phpmyadmin, tu créé une base nommée "questionnaire".
- quand ta base est crée, si elle n'est pas sélectionnée fais le. (en haut à gauche). La une page apparait pour faire diverse chose telles que ajoutée une table à ta base, etc... a peu pret au millieu de la page, tu a une zone de texte ou tu peux éxécuter des requetes directement sur ta base, et bien juste en dessous, tu a la bouton 'parcourir' avec le texte "Ou Emplacement du fichier texte", tu clique et tu va cherche le fichier "base.sql" et tu clique sur "éxécuter". Et voilà, normalement ta base est crée, avec un jeu d'essai (deux questionnaire, dont un qui comprend deux question avec plusieurs réponse possibles, et un utilsateur).

Maintenant, voilà le code (juste un peu modifié :) de ta page de formulaire, qui nous servira par la suite popour faire les controles et les enregistrement des réponse dans la base de données). Je n'ai pas fait de mise en forme, je te laisse le faire à la manière que tu le souhaite.
Ce script, si tu regarde un peu le code permet de générer un formulaire de question automatiquement en lui précisant l'identifiant de ce formulaire dans ta base. Suivant cela, il va chercher les question et réponse corresponant à ce formulaire et les affiches.

Voilà le code que tu met dans un fichier nommé par exemple "questionnaire.php" :
<?php
    
    // FONCTION UTILES AU SCRIPT : possibilite de les mettre dans un autre fichier
    // et y faire appel avec " require 'nom_fich.php'; ".
    function db_connect ()
    {
        $conn = mysql_connect('localhost','root','');
        if (!$conn)
            messerr("Pb connexion mysql",-1);
        if (! mysql_select_db("questionnaire",$conn) ) {
            mysql_close($conn);
            messerr("Pb connexion a la base questionnaire",-1);
        }
        
        return $conn;
    }

    function messerr ($libelle, $val) {
        echo "<SCRIPT LANGAGE=\"JavaScript\"> alert(\"".$lib."\")</SCRIPT>";
        return $val;
    }
    
    function deconnect ($connexion) {
        mysql_close($connexion);
    }

    // Pour les test on donne l'id du formulaire = 2. (Voir dans la base le formulaire correspondant,
    // les question qui s'y rattachent, ainsi que les réponses des questions.
    $id_formulaire = 2;


    // MISE EN FORME DU QUESTIONNAIRE
                
    // Selection des questions du formulaire :
    $query_question = "SELECT q.id_question, q.libelle_quest, q.multirep, f.libelle_form
                FROM `question` q, `formulaire` f, `regroupe` reg
                WHERE reg.id_formulaire = f.id_formulaire
                AND reg.id_question = q.id_question
                AND f.id_formulaire = '".$id_formulaire."'
                ORDER BY reg.id_question";
                
    // Connexion à la base :
    $conn = db_connect() OR die("Erreur questionnaire.php line 43");
    
    // selection du titre du formulaire demandé :
    $titre = mysql_fetch_array(mysql_query("SELECT libelle_form 
                                            FROM `formulaire` 
                                            WHERE id_formulaire = '".$id_formulaire."'
                                            ",$conn)
                             );
    // On écrit le titre du formulaire :
    echo "<BR><CENTER><b>".$titre['libelle_form']."</b></CENTER><BR>";
    
    // execution de la requete de selection des questions :
    $res = mysql_query($query_question,$conn) OR die("Erreur questionnaire.php line 55");
    
    // S'il n'y a pas de question pour le formulaire demandé, le script est arreté :
    if( mysql_num_rows($res) == 0 ) {
        messerr("Pas de question pour le formulaire demandé",-1);
        exit;
    }
    
    while ( $question = mysql_fetch_array($res) )
    {
        // On écrit à l'écran la question :
        echo "<BR><b>".$question['libelle_quest']."</b><BR>";
        // Requete selection des reponses en fonction de la question courante du questionnaire :
        $query_rep = "SELECT r.id_reponse, r.libelle_rep, p.juste
                    FROM `reponse` r, `possibilite_reponse` p
                    WHERE p.id_reponse = r.id_reponse
                    AND p.id_question = '".$question['id_question']."'
                    ORDER BY r.id_reponse";
        $result = mysql_query($query_rep,$conn) OR die("Erreur questionnaire.php line 73");
        
        // S'il n'y a pas de réponse à la question, le script est arrete.
        if( mysql_num_rows($result) == 0 ) {
            messerr("Aucune reponse pour la question \"".$question['libelle_quest']."\"",-1);
            exit;
        }
        while ( $reponse = mysql_fetch_array($result) )
        {
            echo "<INPUT TYPE=\"radio\" NAME=\"".$question['libelle_quest']."\" VALUE=\"".$reponse['libelle_rep']."\">
                    ".$reponse['libelle_rep']."<BR>";
        }
    }
    
    // On écrit les bouton de validation / annulation du formulaire :
    echo "<BR><INPUT TYPE=\"submit\" NAME=\"validation\" VALUE=\"Valider\">
            <INPUT TYPE=\"reset\" NAME=\"reset\" VALUE=\"Effacer\"><BR>";

    // Fermeture du formulaire :
    echo "</FORM>";
    
    // Déconnexion de la base :
    deconnect($conn);

?>


Tu copie et tu colle , j'ai tester chez moi ca marche. Evidement n'oublie pas de lancer EasyPHP avant pour pouvoir acceder à la base précédement créée avec "base.sql".

Voilà, je vais te faire un petit script pour controler les réponse d'un utilisateur et les ajouter à la base.
Par la suite on pourra faire un autre script qui se chargera de faire des statistique sur chaque questionnaire, et un classement des utilisateur par exemple, afin de déterminer qui est le fameux gagnant.

redi moi si tu a un probleme.

@++
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
19 avril 2005 à 16:09
Voilà la suite : j'ai juste rajouter le fait que la position des question est aléatoire, afin d'éviter la nuisance de Robots sur tes formulaires.

Pour la base, reprend le script "base.sql" du précédent post. POur ce qui est du code, je l'ai changer : J'ai mis un fichier "fonction.php" qui regroupe les fonctions utiles et le fichier "questionnaire.php" :

texte de fonction.php :
<?

    // FICHIER DE FONCTION UTILES AU QUESTIONNAIRES OU AUTRES :
    
    function db_connect ()
    {
        $conn = mysql_connect('localhost','root','');
        if (!$conn)
            messerr("Pb connexion mysql",-1);
        if (! mysql_select_db("questionnaire",$conn) ) {
            mysql_close($conn);
            messerr("Pb connexion a la base questionnaire",-1);
        }
        
        return $conn;
    }

    function messerr ($libelle, $val) {
        echo "<SCRIPT LANGAGE=\"JavaScript\"> alert(\"".$lib."\")</SCRIPT>";
        return $val;
    }
    
    function deconnect ($connexion) {
        mysql_close($connexion);
    }
    
    function init () {
        // Initialisation des nombres aléatoires :
        srand((double)microtime()*1000000);
    }
    
    function alea ( $max ) {
        return mt_rand(0,$max);
    }
    
    function trouve ( $valeur, $tab ) {
        $trouve = false;
        $i = 0;
        while ( !$trouve && $i < sizeof($tab) )
            if( $tab[$i++] == $valeur )
                $trouve = true;
        return $trouve;
    }
    
    function affichage_aleatoire ( $libelle, $tab ) {
        $i = 0;
        $tmp = array();
        $sup = sizeof($tab);

        while ( $i < $sup ) {
            $continu = true;
            // récupère un nombre aléatoire entre 0 et taille.
            do{
                $x = alea ($sup-1);
                if( ! trouve($x,$tmp) ) {
                    array_push($tmp,$x);
                    $i++;
                    echo "<INPUT TYPE=\"radio\" NAME=\"".$libelle."\" VALUE=\"".$tab[$x]."\">
                    ".$tab[$x]."<BR>";
                    $continu = false;
                }
            }while( $continu );
        }
    }
    
?>


Code de questionnaire.php :
<?php
    
    // Inclusion de la bibliothèque de fonction.
    require "fonction.php";
    
    
 
    // Pour les test on donne l'id du formulaire = 2. (Voir dans la base le formulaire correspondant,
    // les question qui s'y rattachent, ainsi que les réponses des questions.
    $id_formulaire = 2;


    // MISE EN FORME DU QUESTIONNAIRE
                
    // Selection des questions du formulaire :
    $query_question = "SELECT q.id_question, q.libelle_quest, q.multirep, f.libelle_form
                FROM `question` q, `formulaire` f, `regroupe` reg
                WHERE reg.id_formulaire = f.id_formulaire
                AND reg.id_question = q.id_question
                AND f.id_formulaire = '".$id_formulaire."'
                ORDER BY reg.id_question";
                
    // Connexion à la base :
    $conn = db_connect() OR die("Erreur questionnaire.php line 43");
    
    // selection du titre du formulaire demandé :
    $titre = mysql_fetch_array(mysql_query("SELECT libelle_form 
                                            FROM `formulaire` 
                                            WHERE id_formulaire = '".$id_formulaire."'
                                            ",$conn)
                             );
    // On écrit le titre du formulaire :
    echo "<BR><CENTER><b>".$titre['libelle_form']."</b></CENTER><BR>";
    
    // execution de la requete de selection des questions :
    $res = mysql_query($query_question,$conn) OR die("Erreur questionnaire.php line 55");
    
    // S'il n'y a pas de question pour le formulaire demandé, le script est arreté :
    if( mysql_num_rows($res) == 0 ) {
        messerr("Pas de question pour le formulaire demandé",-1);
        exit;
    }
    
    // Début du questionnaire :
    echo "<FORM ACTION=\"questionnaire.php\" METHOD=\"post\">";
    // Initialisation du random pour la mise en place des questions :
    init();
    
    while ( $question = mysql_fetch_array($res) )
    {
        // Initialisation du tableau des réponses :
        $tab = array();
        // On écrit à l'écran la question :
        echo "<BR><b>".$question['libelle_quest']."</b><BR>";
        // Requete selection des reponses en fonction de la question courante du questionnaire :
        $query_rep = "SELECT r.libelle_rep
                    FROM `reponse` r, `possibilite_reponse` p
                    WHERE p.id_reponse = r.id_reponse
                    AND p.id_question = '".$question['id_question']."'
                    ORDER BY r.id_reponse";
        $result = mysql_query($query_rep,$conn) OR die("Erreur questionnaire.php line 73");
        
        // S'il n'y a pas de réponse à la question, le script est arrete.
        if( mysql_num_rows($result) == 0 ) {
            messerr("Aucune reponse pour la question \"".$question['libelle_quest']."\"",-1);
            exit;
        }
        $i = 0;
        while ( $reponse = mysql_fetch_array($result) )
            $tab[$i++] = $reponse['libelle_rep'];
            
        // On affiche de manière aléatoire les réponse 
        // ( Pour éviter au robots de répondre automatiquement juste )
        affichage_aleatoire($question['libelle_quest'],$tab);
        
    }
    
    // On écrit les bouton de validation / annulation du formulaire :
    echo "<BR><INPUT TYPE=\"submit\" NAME=\"validation\" VALUE=\"Valider\">
            <INPUT TYPE=\"reset\" NAME=\"reset\" VALUE=\"Effacer\"><BR>";

    // Fermeture du formulaire :
    echo "</FORM>";
    
    // Déconnexion de la base :
    deconnect($conn);

?>


Voilà, si tu comprend pas fais le moi savoir, et si tu pouvais me donner ton adresse mail pour t'envoyer les prochaine modifications, avec l'arborescance des fichiers, ca serait pas mal.

kij_82@hotmail.fr

@+
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
19 avril 2005 à 22:19
Claude : ce que je marque dans ces post s'adapte également à ce que tu souhaite faire, donc si tu est toujours là, n'hésite pas à intervenir, je ne t'ai aps oublié.

Le reste est en cours d'écriture...

++
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
24 avril 2005 à 15:06
Un appel de recherche : si qqun sait ce qu'est devenu anne88, faites lui savoir que j'ai une solution à lui proposer pour son pb.
0
Anne88 Messages postés 190 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 7 mars 2008 36
25 avril 2005 à 01:21
Coucou Kij_82,

:) Je vois que tu as beaucoup bossé pour moi pendant que je profitais d'une petite semaine de vacances en famille dans un gîte où il n'y avait pas de téléphone... même le portable ne passait pas :) alors l'ADSL... :(:(

Nous rentrons seulement mais dès demain matin, je m'attaque à déchiffrer ce que tu m'as déjà concoté.

Je te remercie encore pour tout et j'espère que Claude profite aussi de tes explications.

Bye

Anne
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
25 avril 2005 à 09:15
Ben en fait ce n'est qu'une partie de ce que j'ai fait, j'ai fini ca hiers soir, donc si tu le veux en entier, il me faudrait ton mail, car tout mettre dans un post c'est pas que c'est chiant mais presque !

++
0
je regrete que vous n'ayez pas terminé votre échange ici.
je suis à la recherche d'un tel code, et ne pas avoir la fin... c'est domage.

merci en tout cas pour ton début de code. c'est une bonne base de travail.

si tu es OK pour mettre la fin à disposition. ce serait cool.

bonne journée.
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
17 mai 2005 à 09:37
ma fois pkoi pas mais faut voir avec anne88 si elle est d'accord ?
Je ne pense pas m'enfin...
Tu veux pas plutot me filer ton adresse mail ou msn car il y a pas mal de page de faite depuis( enfin tout est relatif...)

++
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
17 mai 2005 à 11:00
Je penserais à mettre toute la solution.. mais pour le moment je suis au boulot et le truc est sur mon pc perso à la maison...

Sinon, pour les mail : kij_82@hotmail.fr
0