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

  FORUM HardWare.fr
  Programmation
  PHP

  Sondage de satisfaction avec Mysql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Sondage de satisfaction avec Mysql

n°2301302
gweared
Posté le 30-05-2017 à 13:39:39  profilanswer
 

    Bonjour,  
 
Je suis entrain actuellement de faire un sondage de satisfaction en php et mysql cependant je bloque sur un endroit.
Je ne sais pas comment faire pour passer à la question suivante une fois que l'utilisateur à répondu à la précédente..
 

Citation :


<?php
// on se connecte à notre base de données
/*$base = mysql_connect ('localhost','root','');
mysql_select_db ('satisfaction',$base);*/
            $base = mysqli_connect('localhost', 'root', '', 'satisfaction');
             
// on prépare une requête pour sélectionner l'id et la question du dernier sondage (on sélectionne les questions, et on en prend qu'une (le LIMIT 0,1) et ce, dans un ordre décroissent (DESC), soit en fait, la dernière question posée).
            $sql = 'SELECT id, question FROM sondage_questions ORDER BY id  ';
             
// on lance la requête
/*$req = mysql_query ($sql) or die ('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());*/
            $req = $base->query($sql);
             
// on récupère le résultat dans un tableau associatif
            $data = mysqli_fetch_array ($req);
 
            $nb_sondage = mysqli_num_rows($req);
 
            if ($nb_sondage == 0) {
              echo 'Aucun sondage.';
            }else {
  // on libère l'espace mémoire alloué à cette requête
              mysqli_free_result ($req);
              ?>
              <div class="type-question">
 
                <p class="question">
                  <?php
  // on affiche la question
                    echo stripslashes(htmlentities(trim($data['question']))),'<br />';
                  ?>
                </p>
              </div>
              <?php
  // on prepare l'affichage de notre formulaire permettant de voter
                echo '<form action = "index.php" method = "post">';
 
  // on prépare une requête permettant de sélectionner les réponses possibles se rapportant à ce même sondage
                $sql = 'SELECT id, reponse FROM sondage_reponses WHERE id_sondage="'.$data['id'].'"';
 
  // on lance la requête
/*  $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());*/
                $req = $base->query($sql);
                 
  // on prépare notre boucle pour afficher les différents choix possibles de réponses
                while ($donnees = mysqli_fetch_array($req)) {
  // on affiche des boutons radio pour les différents choix de réponses possibles
                  echo '<input type="radio" name="choix" value="' , $donnees['id'] , '"> ' , stripslashes(htmlentities(trim($donnees['reponse']))) , '<br />';
                }
              ?>
              <input type = "hidden"  name = "sondage_en_cours" value = "<?php echo $data['id']; ?>">
              <input type = "submit" name="go" value = "Vote">
            </form>
            <?php
          }
 
// on libère l'espace mémoire alloué à cette requête
          mysqli_free_result ($req);
 
// on ferme la connection à notre base de données
          mysqli_close ($base);
          ?>
          <br /><br />
          <a href="sondage_resultats.php">Voir les résultats</a>
          <?php
           
// on affiche les erreurs éventuelles
          if (isset($erreur)) echo '<br /><br />',$erreur;
          ?>


 
 

mood
Publicité
Posté le 30-05-2017 à 13:39:39  profilanswer
 

n°2301338
MaybeEijOr​Not
but someone at least
Posté le 30-05-2017 à 21:27:10  profilanswer
 

Bonjour,
 

Code :
  1. // on prépare une requête pour sélectionner l'id et la question du dernier sondage (on sélectionne les questions, et on en prend qu'une (le LIMIT 0,1) et ce, dans un ordre décroissent (DESC), soit en fait, la dernière question posée).
  2.             $sql = 'SELECT id, question FROM sondage_questions ORDER BY id  ';


 
 :??:  
 
Le commentaire ne colle visiblement pas à la ligne de code alors que la réponse est probablement ici même si je ne suis pas certain de saisir la question ou du moins la réponse à y apporter. La question se situe t-elle au niveau de la requête à effectuer ou dans le déroulement des actions?
Si c'est à propos de la requête il nous faudrait la structure de ta bdd même si on semble la deviner. Si c'est à propos du déroulement il nous faudrait en savoir plus sur le traitement réalisé après envoi du formulaire que tu nous montres.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°2301402
gweared
Posté le 01-06-2017 à 10:14:30  profilanswer
 

Citation :


 
// on prépare une requête pour sélectionner l'id ainsi que la question.
            $sql = 'SELECT id, question FROM sondage_questions ORDER BY id  ';


 
C'est peut-être mieux ainsi .
 
Pour la base de donnée :  
 

Citation :


On a deux tables :  
 
- question_satisfaction : id - question
- reponses_satisfaction : id - id_sondage( liée avec l'id de la table précédente) - réponse - nb_réponse
 


 
Ce que j'aimerais c'est quand on clique sur le bouton "vote", on va enregistrer la réponse dans la table reponses_satisfaction ( incrémenter de 1 nb_reponses) puis ensuite passer à la question suivante.  

n°2301436
MaybeEijOr​Not
but someone at least
Posté le 01-06-2017 à 19:07:07  profilanswer
 

On est bien d'accord que tu as compris que :

Code :
  1. <form action = "index.php" method = "post">


 
veut dire que les données entrées dans le formulaire sont envoyées à la page "index.php" par le méthode "post" une fois que l'utilisateur valide le formulaire?


Message édité par MaybeEijOrNot le 01-06-2017 à 19:07:33

---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.

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

  Sondage de satisfaction avec Mysql

 

Sujets relatifs
[résolu]problème comparaison Php/MySqlServeur Mysql
[PERL/MySQL] Utilisation d'une variable dans la clause WhereId absolu et Id relatif dans la même table MySQL
Passer de MySQL à MySQLi pour PHP 7[MySQL] Aide conception d'une BDD
Comment réaliser un historique d'achat ? (PHP, MySQL)Recherche Plateforme Visuelle type Access pour MySQL/Web
Forum PHP/Mysql simple ?MySQL : coordonnées GPS, trouver les entrées proches d'une entrée
Plus de sujets relatifs à : Sondage de satisfaction avec Mysql


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