IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Mise en place de sondage PHP


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Par défaut Mise en place de sondage PHP
    Bonjour,

    J'ai pour projet de créer une plateforme de sondage en PHP et MYSQL.

    Il y a plusieurs sondages et chaque sondage possède une ou plusieurs questions stockées dans une table question.

    Une fois qu'une question est répondu, on passe à la suivante appartenant au même sondage (les réponses sont toujours oui ou non et le slider sera en JS)

    L'interface doit former ceci :

    Nom : survey.png
Affichages : 525
Taille : 4,7 Ko

    Après avoir répondu à toutes les questions on obtient une interface nous demandant de valider nos réponses.

    J'aimerai savoir comment passer à la question suivante une fois avoir coché une réponse. Si je dois faire un For each ou while.

    J'ai déjà commencé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <form action="app.php" method="post">
    <?php 
    $id_survey = $_REQUEST['id'];
    //Selectionne question appartenant au sondage
    $req_select_question = $bdd->query("SELECT id_question, name_question FROM question, survey WHERE survey.id_survey = question.id_survey AND survey.id_survey =".$id_survey);
    while($donnees = $req_select_question->fetch()) {
    	echo $donnees['name_question'].'<br>';
    ?>
    <?php		
    }
    ?>
    </form>
    Merci de votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    PHP ne fonctionne pas comme ça : le code est exécuté par le serveur qui renvoi le résultat et c'est tout, il n'y a pas d'interactions avec le client.
    Ce que tu cherches à faire c'est peut être une pagination.
    Mais regarde d'abord comment fonctionne ton slider.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Par défaut
    J'ai du mal m'exprimer, je sais que je dois afficher un formulaire avec toutes les questions d'un sondage et que pour l'habillage je devrai utiliser un slider.

    Cependant je me demande avec quelle boucle il faut afficher les questions selon le nombre qu'il y a dans la bdd.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Le code que tu as montré ne fonctionne pas ?
    Au passage, fait des jointures avec JOIN.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Par défaut
    Il fonctionne mais le soucis ...

    Nom : Capture.PNG
Affichages : 501
Taille : 9,3 Ko

    Il devrait y avoir un choix pour chaque question, or ce choix s'applique sur toutes les questions.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pense à décrire precisement ton problème et les erreurs rencontrées.
    Comment son générés les boutons radios ? ils n'apparaissent pas dans ton code.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Par défaut
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
     
    <form action="app.php" method="post">
     
    	<?php 
     
    		$id_survey = $_REQUEST['id'];
     
     
    		//Selectionne question appartenant au sondage
    		$req_select_question = $bdd->query("SELECT id_question, name_question FROM question, survey WHERE survey.id_survey = question.id_survey AND survey.id_survey =".$id_survey);
    		$i = 1;
     
    		if($req_select_question->rowCount()>0) {
    		        foreach($req_select_question as $row) {
    			$id = $row['id_question'];
    		?>
     
    			<div class="question">
    			        <p><?php echo $row['name_question']; ?></p>
    				<input type="radio" name="answer"> Oui 
    				<input type="radio" name="answer"> Non
    			</div>
    		<?php
     
    		}
    	}
    		?>
     
    </form>

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ton test ligne 14 ne sert à rien, sauf si tu mets un else.

    Pour les boutons, indexe les avec l'id de la question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="radio" name="answer[<?php echo $id; ?>]"> Oui 
    <input type="radio" name="answer[<?php echo $id; ?>]"> Non
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Par défaut
    Merci sabotage, je vais tester ça, je tient au courant si mon programme marche

  10. #10
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Par défaut
    Lors de la récupération des données pour l'enregistrement en BDD, il récupère bien l'internaute, la valeur des réponses mais garde toujours la même question.

    Résultat :

    Nom : Capture.PNG
Affichages : 530
Taille : 6,0 Ko

    Mon code :

    survey.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <form action="answers.php" method="post">
     
    							<?php 
     
     
    								//SESSION id sondage
    								$id_survey = $_REQUEST['id'];
     
     
    								//Selectionne question appartenant au sondage
    								$req_select_question = $bdd->query("SELECT id_question, name_question FROM question, survey WHERE survey.id_survey = question.id_survey AND survey.id_survey =".$id_survey);
    								$i = 1;
     
    									foreach($req_select_question as $row) {
    										$id = $row['id_question'];
    										$_SESSION['id_question'] = $id;
    									?>
     
    									<div class="question">
    										<p><?php echo $row['name_question']; ?></p>
    										<input type="radio" name="answer[<?php echo $id; ?>]" value="1"> Oui 
    										<input type="radio" name="answer[<?php echo $id; ?>]" value="0"> Non
    									</div>
    							<?php
    									}
     
    							?>
     
    							<input type="submit" value="Valider mes réponses">
     
    				</form>
    answer.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    if(isset($_POST)) {
     
    	foreach ($_POST['answer'] as $key => $value) {
    		$id_internaute = $_SESSION['id'];
    		$id_question = $_SESSION['id_question'];
     
    		echo 'Numero internaute :'.$id_internaute.'<br>';
    		echo 'Numero question :'.$id_question.'<br>';
    		echo 'Reponse :'.$value.'<br>';
    		echo '<br><br>';
     
        	$req_add_answer = $bdd->prepare("INSERT INTO answer VALUES(':id_internaute, :id_question, :answer_internaute')");
        	$req_add_answer->execute(array(
     
        			'id_internaute' => $id_internaute,
        			'id_question' => $id_question,
        			'answer_internaute' => $value
     
        		)); 
    	}
    }

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Dans la ligne 17 du premier code tu mets l'id de la question en cours en session dans forcemment à la fin, tu as la derniere question et rien d'autre.
    Retire cette ligne, elle ne sert à rien, l'id de la question c'est $key.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Par défaut
    Merci pour ton aide ça marche super

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mise en place de Jenkins PHP
    Par rolintoucour dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 10/08/2014, 23h52
  2. [MySQL] Mise en place Affiliation par PHP
    Par ifiii dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/06/2010, 20h35
  3. [MySQL] mise en place de cours php /mysql
    Par PAYASS59 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/10/2009, 22h32
  4. Mise en place de sondage sur Access 2007
    Par Maxence HUBICHE dans le forum Sondages et Débats
    Réponses: 0
    Dernier message: 19/07/2006, 12h59
  5. Probléme de mise en place de PHP
    Par dragonfly dans le forum Apache
    Réponses: 4
    Dernier message: 27/03/2006, 10h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo