Tom's Guide > Forum > Programmation > [Help][PHP] Création d'un sondage ^^

[Help][PHP] Création d'un sondage ^^

Forum Programmation : [Help][PHP] Création d'un sondage ^^

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour j'aimerais de l'aide pour du php...

Code :
  1. <?
  2. // Récupération des variables
  3. if ($_POST['choix']) {
  4.     $a = $_POST['choix'] ;
  5. // Base de données
  6.     include_once('connect.php');
  7.     $resultat = mysql_query("SELECT * FROM sondage ORDER BY id DESC",$db);
  8.     for ($i=0;$i<3;$i++){
  9.         $com = mysql_fetch_array($resultat);
  10.         if ($com['id'] == $a) {
  11.             $b = mysql_query("SELECT nb FROM sondage ORDER BY id DESC WHERE id=".$a."",$db);
  12.             echo $b ;
  13.         }
  14.     }
  15. }
  16. ?>



Y'a surement une erreur la dedans mais j'arrive pas à récupérer le nombre de vote déja effectué ... Biensur c'était juste pour un test mais .. Rien ne marche, c'est pour cela que j'ai fait appel à vos connaissance ^^

Merci d'avance :-)

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

déjà, tu as un "]" qui traine à la place d'un "}"

Ensuite, tes requètes ne veulent rien dire, du moins la première.

Si tu cherches le nombre d'enregistrements dans la table "sondage" dont l'id est égal à choix, simplifie ton script en:

Code :
  1. <?
  2. if (isset($_POST["choix"]) && ($_POST["choix"]!="" )) {
  3.   $choix = $_POST["choix"];
  4.   include_once('connect.php');
  5.   $sql = "SELECT COUNT(*) AS nb FROM sondage WHERE id=$choix";
  6.   $req = mysql_query($sql, $db);
  7.   list($nb) = mysql_fetch_row($req);
  8.   echo $nb;
  9. } else {
  10.   die("Pas de sondage selectionné" );
  11. }
  12. ?>



Répondre à crazycat@idn

Petit PS: quand je dis que ta requète ne veut rien dire, je veux dire qu'elle est totalement inutile.
Syntaxiquement, elle est juste mais au niveau logique:
tu vas chercher tous les enregistrements dans ta table, tu boucles sur les 3 premiers pour voir si tu matches avec ton choix... pour ensuite faire une requète seulement limité par ton choix.
Autant passer directement à la deuxième requête :)

Répondre à crazycat@idn

Voila j'arrive maintenant à avoir le nombre de vote ^^
Par contre i lne fallais pas de COUNT(*) AS car ma base de données n'est pas faite comme ça, mais j'ai corrigé et j'obtient maintenant le résultat !

Merci beaucoup pour ton aide ^^

Répondre à Dam-

si je puis me permettre, et c'est un avis perso qui n'engage que moi, ta base est mal foutue: je présume que tu enregistres (ou incrémente) le nombre de réponses... pourquoi ne pas enregistrer toutes les réponses données par tout le monde et faire un count()? cela rendra ton système plus évolutif.

Pour ma part, si on me parle de sondage, je vois tout de suite 3 tables:
- sondage_questions qui contient:
-- sondage_id
-- question
-- date_debut
-- date fin

- sondage_reponses:
-- question_id
-- sondage_id
-- type_reponse (enum, yes/no, libre, ...)
-- reponse_libelle

- sondage_votes:
-- vote_id
-- user_id
sondage_id
-- reponse (une string formatée à mon gré)

Le système peut sembler lourd mais permet beaucoup de sondages, de tous types :)

Répondre à crazycat@idn
Tom's Guide > Forum > Programmation > [Help][PHP] Création d'un sondage ^^
Aller à :

Il y a 2151 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens