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 :

Affichage libellé d'une base de données


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut Affichage libellé d'une base de données
    Bonsoir / Bonjour à tous,

    afin de finir la dernière partie de mon site, j'ai besoin de vous pour m'aider à résoudre un (petit) problème.
    J'ai besoin que ma page affiche les libellés de la proposition souhaitée en fonction du choix de l'utilisateur.
    J'ai pour l'instant tous les libellés dans ma base de données, et ma page m'affiche le premier libellé.

    Je voudrais pouvoir afficher d'autres libellés suivant la réponse de l'utilisateur (oui ou non).
    Problème : une réponse oui ne signifie pas forcément auto-incrémentation du numéro de libellé.

    Je vous montre ce que j'ai déjà :

    Code php : 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
     
    <?php
    include'haut.php';
    $base = mysql_connect ('localhost', 'root', '');  
    mysql_select_db ('ContratGlobal', $base) ;
    echo "<br/><br/>";
    echo "<br/><br/>";
    echo "<table>";
    $requete = 'SELECT libelle FROM propositions WHERE numProposition = 1';
    $resultat = mysql_query($requete, $base);
    while ($row = mysql_fetch_assoc($resultat))
    	{
    	echo $row['libelle'];
    	}
    echo "<br/><br/>";
    echo '
    <form name="choixProp" action ="premiereQuestion.php" method="post">'
    	echo '<input type = "radio" name = "reponse" value = "oui">Oui';
    	echo "&nbsp&nbsp&nbsp";
    	echo '<input type = "radio" name = "reponse" value = "non">Non
    </form>';
    echo "</table>";
    ?>

    J'avais pensé à faire un test à chaque réponse du client du genre :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if $requete==1 & $_POST[reponse]==oui
       $requete = 'SELECT libelle FROM propositions WHERE numProposition = 5'; /* 5 étant un exemple au pif */
       $resultat = mysql_query($requete, $base);
        while ($row = mysql_fetch_assoc($resultat))
    	{
    	echo $row['libelle'];
    	}
        echo "<br/><br/>";

    Si vous avez d'autres idées, je suis preneur !

    Merci

  2. #2
    Membre expérimenté
    Inscrit en
    Mai 2010
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 177
    Par défaut
    Si je comprend bien, tu as un questionnaire du genre: "Si vous avez répondu oui à cette question, allez à la question suivante, sinon allez à la question 6". Essentiellement, la réponse de l'utilisateur à la question courante dicte quelle sera la prochaine question à afficher.

    Comme toutes tes questions semblent être des question Oui/Non, tu pourrais stocker, avec le libellé de la question, le numéro de la prochaine question dépendant de la réponse comme ceci:

    Table propositions:

    numProposition | Libelle | QSuivanteOui | QSuivanteNon
    1 "Question" 2 3
    2 "Question" 3 6
    Et ainsi de suite. Donc, maintenant, pour charger la question suivante, tu n'as qu'à connaître la réponse de l'utilisateur ainsi que la question actuelle et tu charges le tout en conséquence.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if($reponse == 1) //en supposant que ça veut dire "oui"
    {
           $requete = "SELECT QSuivanteOui FROM propositions where numProposition = " . $IDQuestionActuelle;
    }
    else
    {
          $requete = "SELECT QSuivanteNon FROM propositions where numProposition = " . $IDQuestionActuelle;
    }
    Après ça, c'est simplement de faire un autre SELECT pour aller chercher la question d'après en utilisant l'ID retourné par la requête que je t'ai donné ci-dessus.

    En espérant que ceci te soit utile.

    Osu

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Ah ouai pas bête !

    Merci beaucoup, je vais étudier ça plus en détail. Je testerais à l'occasion et je te donnerais des nouvelles.

    Merci !

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    EDIT : j'ai un peu avancé, ré-écris le code plus lisiblement.

    Code php : 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
    33
    34
    35
    36
    37
    38
     
    <?php
    		$numProposition = 1;
    		$requete = 'SELECT libelle FROM propositions WHERE numProposition =' . $numProposition;
    		$resultat = mysql_query($requete, $base);
    		while ($row = mysql_fetch_assoc($resultat))
    		{
    			echo $row['libelle'];
    		}
    	?>
    	<form name="reponse" method="post" action="propositions.php">
    		<input type="radio" value="Oui" name="reponse">Oui
    		<?php echo '&nbsp&nbsp&nbsp&nbsp' ?>
    		<input type="radio" value="Non" name="reponse">Non
    		<br/>
    		<input type="submit" value="Proposition suivante">
    	</form>
    	<?php
    		if ($_POST['reponse'] == "Oui" AND $numProposition == 1)
    		{
    			/*changer le numProposition par le numQuestionSuivante*/
    			/*$numProposition =;*/
    			$requete = "SELECT libelle FROM propositions where numProposition =" . $numProposition;
    			$resultat = mysql_query($requete, $base);
    			while ($row = mysql_fetch_assoc($resultat))
    			{
    				echo $row['libelle'];
    			}
    		}
    		elseif ($_POST['reponse'] == "Non" AND $numProposition == 1)
    		{
    			$requete = "SELECT QuestionSuivanteN, libelle FROM propositions where numProposition = " . $numProposition;
    			$resultat = mysql_query($requete, $base);
    			while ($row = mysql_fetch_assoc($resultat))
    			{
    				echo $row['libelle'];
    			}
    		}

    Donc, techniquement, je suis toujours bloqué...
    Je n'arrive pas à faire changer le numero de la proposition actuelle par celui de la question suivante pour afficher la proposition suivante.

    Si vous avez des idées.

Discussions similaires

  1. Affichage dynamique d'une base de donnée
    Par Reikim dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/10/2010, 11h35
  2. affichage pdf depuis une base de donnée
    Par airod dans le forum Zope
    Réponses: 6
    Dernier message: 03/05/2010, 17h06
  3. [C#] Affichage des données d'une base de données à travers un Datagrid
    Par Me,Myself and I dans le forum Windows Forms
    Réponses: 3
    Dernier message: 23/02/2007, 16h38
  4. [MySQL]Affichage d'image depuis une base de données
    Par Sofute dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 20/02/2007, 14h43
  5. affichage de photos et texte venant d une base de données.
    Par xtiand4 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 23/06/2006, 14h14

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