Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1563 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problèmes dans la réalisation d'un petit sondage

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problèmes dans la réalisation d'un petit sondage

n°1687159
Profil sup​primé
Posté le 15-02-2008 à 21:48:31  answer
 

Hey!
 Je me suis lancé il y' a quelques temps dans la réalisation d'un petit site web vraiment très basique. Pour l'instant j'ai réussi à n'utiliser que du html mais je dois maintenant réaliser un petit sondage vraiment simple aussi, mais je ne connais strictement rien en php. j'ai donc essayé de faire un truc mais cela ne fonctionne pas vraiment. Je vous copie le code ci dessous. Si vous pouviez y jeter un coup d'oeil. :)  
 
 
Fichier configuration:

Code :
  1. <?php
  2. $hote = "localhost";
  3. $login = "root";
  4. $mot_passe = "";
  5. $nom_base = "assoc";
  6. $table = "sondage";
  7. $periode_sondage = "";
  8. $titre_sondage = "";
  9. $question1 = "........parmis cette liste:";
  10. $rep[0] = "essai..................";
  11. $rep[1] = "essai2..................";
  12. $question2 = "Comment avez vous connu .....fr?";
  13. $choix1 = "Internet";
  14. $choix2 = "Magazine";
  15. $choix3 = "Tv";
  16. $choix4 = "Connaissances";
  17. $choix5 = "Autre";
  18. ?>


 
 
Fichier voter:

Code :
  1. <?php
  2. require ("configuration.php" );
  3. mysql_connect($hote,$login,$mot_passe);
  4. mysql_select_db($nom_base);
  5. $vote = $_POST['list'];
  6. $ip = $_SERVER['REMOTE_ADDR'];
  7. $query = "SELECT * FROM ".$table." WHERE ip='$ip'";
  8. $result = mysql_query($query);
  9. if($result)
  10. {
  11. echo "Vous avez déjà voté!";
  12. exit;
  13. }
  14. $sql = "INSERT INTO ".$table." (vote,ip) VALUES ('$vote','$ip')";
  15. mysql_query($sql) or die('ERREUR SQL !<br>'.$sql.'<br>'.mysql_error());
  16. mysql_close();
  17. echo 'Merci d\'avoir voté!<br><a href="resultats.php">Voir les résultats</a>';
  18. ?>


 
 
Fichier résultats:

Code :
  1. <?php
  2. require ("configuration.php" );
  3. mysql_connect($hote,$login,$mot_passe);
  4. mysql_select_db($nom_base);
  5. $query = "SELECT count(*) as nbVote FROM .$table.";
  6. $row = mysql_query($query);
  7. while($data = mysql_fetch_array($row));
  8. $total = $data["nbVote"];
  9. echo "<table width=\"200\" cellspacing=\"0\" cellpading=\"0\">\n";
  10. for($i=0;i<$sizeof$rep;i++)
  11. {
  12. $query = "SELECT count(*) nbVote FROM".$table."WHERE vote='$ip'";
  13. $row = mysql_query($query);
  14. while($data = mysql_fetch_array($row));
  15. $pourcentage = $data["nbVote"] * 100/$total;
  16. echo "\t<tr><td>".$rep[$i].":</td><td>".round($poucentage)."%</td></tr>\n";
  17. }
  18. echo "</table>\n";
  19. echo "<table width=\"100%\" cellspacing=\"0\" cellpading=\"0\">\n";
  20. echo "\t<tr><td>Nombre total de votes: $total</td></tr>\n</table>";
  21. mysql_close();
  22. ?>


 
L'intégration du sondage sur la page html ne pose pas de problèmes. C'est plutôt dans le traitement des informations donnée par l'internaute que tout ne fonctionne pas.  
ex: Parse error: parse error, expecting `';'' in c:\program files\easyphp1-8\www\french+php+sondage\resultats.php on line 14(ligne en gras)
 
Sinon est-il possible de consulter une base de donnée par interface logiciel (par exemple avec phpmyadmin, comment?)
 
Merci :hello:

mood
Publicité
Posté le 15-02-2008 à 21:48:31  profilanswer
 

n°1687201
naeh
Posté le 16-02-2008 à 00:00:50  profilanswer
 

pour ton erreur c'est la syntaxe du for qui n'est pas bonne :)
ton code = faux

Code :
  1. for($i=0;i<$sizeof$rep;i++)


correction :

Code :
  1. for($i=0;i<sizeof($rep);i++)
 

sinon ce qu'il faut c'est :
boucler sur les réponses (ce que tu fais avec le for)
pour chaque rep : compter les réponses, et là ta requete n'est pas bonne parce que IP n'a rien a faire ici (vue que tu filtre dejà au moment du vote) le where del a requete doit contenir plutot la rep.

 

Edit : quand tu fais une requete sql, le while c'est quand t'as plusieurs lignes de resultats, dans le cas d'un count c'est inutile

 


Message édité par naeh le 16-02-2008 à 00:03:20
n°1687340
Profil sup​primé
Posté le 16-02-2008 à 18:14:00  answer
 

:ange:  
 
En fait pour le faire j'ai essayé d'adapter un sondage php que j'avais trouvé en tutorial. Mais je me suis peut être compliqué.
 
Voici ce que je voudrais en faite:
 
un sondage avec:
 
-un choix à faire parmi une liste déroulante (obligatoire)
-plusieurs cases à cocher du style "où avez vous connu..." (faculatif)
-une case "en votant vous êtes d'accord avec le réglement...."(obligatoire)
-un lien "résultats" dans le formulaire.
-une impossibilité de voter plusieurs fois.
-possiblité de remmettre le sondage à 0 tous les mois
-une page "résultat" avec le nombre de votant, et le nombre de vote pour chaque valeur présente dans la liste déroulante
 

n°1687491
Profil sup​primé
Posté le 17-02-2008 à 15:58:35  answer
 

:ange:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problèmes dans la réalisation d'un petit sondage

 

Sujets relatifs
Problemes sous IEPetit probléme avec Scipt pour faire des pings en PHP
[SQL] un petit countFaire un sondage
petit quizz1gros INSERT ou plein de petit ?
Debutant en C : petit problème^^j'ai petit mistère avec un htaccess
petit problème d'allignementAide sur site internet, quelques problemes
Plus de sujets relatifs à : Problèmes dans la réalisation d'un petit sondage


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR