Script-Questionnaire de satisfaction

Script-Questionnaire de satisfaction - PHP - Programmation

Marsh Posté le 12-04-2003 à 19:22:34    

Bonjour,
Je sdébut en php-MySQl et j'ai besoin de réaliser un questionnaire de satisfaction pour un site web. Je viens de finir la partie html sans problème. Mais en ce qui concerne la partie php-mysql, je ne sais pas comment structurer la base de données à créer.  Je ne sais pas combien de tables faire et quels champs y mettre.. Je sais c un peu stupide comme question..
 
Voila le pb :  Je dois créer une table par question??? Ou alros comment mettre toutes les questions et leurs réponses sur une seul table???
 
Euh je sais pas si j'ai été très clair, enfin j'espere que vous pourrez quand meme m'aider!!

Reply

Marsh Posté le 12-04-2003 à 19:22:34   

Reply

Marsh Posté le 12-04-2003 à 19:26:55    

Imaginons que tu aies une questionnaire qui demande :  
 
- satisfait.
- moyennement satisfait.
- pas satisfait.
 
Tu crées donc une seule table avec comme champs :
 
- un champ "satisfaction" un INT suffit. Disons que satisfait = 1, moyennement satisfait = 2, pas satisfait = 3.
- un champ IP. Qui stocke l'IP du visiteur (toujours intéressant).
- un champ datetime qui stocke l'heure et la date.
 
Voilà...
 

Reply

Marsh Posté le 12-04-2003 à 19:29:42    

Ok , mais mon pb est que chaque question possede des réponses qui ne sont pas identiques ( ya pas que des satisfaisant,non satisfaisant...)
Alors la , faut créer plusieurs tables cest ca ??? Genre une par question???

Reply

Marsh Posté le 12-04-2003 à 19:33:15    

philozophe a écrit :

Ok , mais mon pb est que chaque question possede des réponses qui ne sont pas identiques ( ya pas que des satisfaisant,non satisfaisant...)
Alors la , faut créer plusieurs tables cest ca ??? Genre une par question???


 
non, il faut juste créer plusieur champs. Mais précises plutôt un peu plus ton cas de figure, parce qu'on parle dans le vide là...

Reply

Marsh Posté le 12-04-2003 à 19:38:38    

Ok, je commence à voir un peu. Bon vu que j'ai aps envie d'avoir la solution tout seul, je vais refléchir tout seul au problème de manière plus approfondie, et je reposterais plus tard, avec ce que j'aurai commencé.  
Mais déja merci pour les réponses!
Bon je pars faire fumer mon cerveau ( ca devient si rare que ca fait déja mal ;-) )

Reply

Marsh Posté le 12-04-2003 à 22:15:25    

Coucou, je viens de tester quelques trucs mais ca déconne. Alors voila le truc:
 Je me suis fait un ptit questionnaire d'essai:
 
 
form method="post" action="satis.php3">
 
<table border width="50%">
<tr>
 <font color="red"  size=3">
1.Etes vous satisfait de l'ambiance générale de la lan ?
 </font>
 <br>
</tr>
<tr>
<br>
<input type="radio" name="quest1" value="oui">Oui
<br>
<input type="radio" name="quest1" value="non">Non
<br>
<input type="radio" name="quest1" value="bof">Bof
</tr>
</table
<table border width="50%">
<tr>
<font color="red"  size=3">
1.Est que je suis un pro des scripts php ?
</font>
<br>
</tr>
<tr>
<br>
<input type="radio" name="quest2" value="oui">Oui
<br>
<input type="radio" name="quest2" value="non">Non
<br>
<input type="radio" name="quest2" value="bof">Bof
</tr>
</table>

 
 A cela j'ai associé le script suivant :
<?php
 
// On attribue une valeur à chacune des entrées différentes des questions  
switch($quest1)
{case "oui":
$question1=1;
break;
case "non":
$question1=2;
break;
case "bof":
$question1=3;
break;
 
}  
switch($quest2)
{case "oui":
$question2=1;
break;
case "non":
$question2=2;
break;
case "bof":
$question2=3;
break;
 
}  
 
 
    $db = mysql_connect('localhost', 'root';);  // connexion à la base  
    mysql_select_db('projet',$db);                  // sélection de la base    
     
    // on ecris la requete sql  
    $sql = "INSERT INTO questionnaire_tbl   VALUES('$question1','$question2';)";  
     
    // on insère les informations du formulaire dans la table  
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
 
    // on affiche le résultat pour le visiteur  
    echo 'Vos infos on été ajoutées.';  
 
    mysql_close();  // on ferme la connexion  
     
?>

 
Jai bien sur au préalable créé une table contenant 2 champs:
Question1 int(4) et Question2 int(4)
 
Alors kand jessaye de faire une entrée j'ai la réponse suivante :
Erreur SQL !INSERT INTO questionnaire_tbl VALUES('1','1';)
Column count doesn't match value count at row 1

 
Jaimerais savoir pkoi???
Je sais que mon code est tout pourri, ke ca vaut rien , mais bon c des essais...et chuis kun pov noob en prog

Reply

Marsh Posté le 12-04-2003 à 22:21:53    

Il te manque un champ ID avec un auto-incrément. Regardes sur phpdebutant.org ;) Et fais les tutos qui concernent mysql ;)
 

Reply

Marsh Posté le 12-04-2003 à 22:33:29    

Lol, wai je lavais ajouté comme comme champ, mais ou oublié de lincrementé.... :whistle:  
enfin , ca fait plaisir quand ca marche!
Et merci :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed