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

  FORUM HardWare.fr
  Programmation
  PHP

  Requête en fonction d'un choix

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requête en fonction d'un choix

n°2023601
Jacksons
Posté le 18-09-2010 à 17:32:05  profilanswer
 

Salut tout le monde
 
 Voilà mon problème: Sur mon site, arrive un moment où l'utilisateur à le choix entre 2 thèmes:
 
- Thème X
- Thème Y
 
Ces 2 thèmes sont choisis aléatoirement parmis ceux que j'ai créés. Pour cela, j'ai fait 2 tables différentes en faisant 2 requêtes différentes. Jusque là pas de soucis.
 
Seulement voilà, étant donné que je n'ai aucune idée du thème qui va tomber, comment je peux faire pour associer les questions du thème au thème qui va être choisis ?! Exemple:
 
-Thème 1: les oiseaux
-Thème 2: les villes
 
Comment je fais pour que si je choisis le thème "oiseaux" j'ai pas des questions de la ville ou autre qui tombe en rappellant que je ne sais jamais quel thème va tomber !  
 
En espérant avoir été clair, merci d'avance pour votre aide.
 

mood
Publicité
Posté le 18-09-2010 à 17:32:05  profilanswer
 

n°2023624
aideinfo
Posté le 18-09-2010 à 22:35:31  profilanswer
 

Tu dois choisir ton thème par Rand() je suppose. Rand() va te renvoyer le numéro du thème, il suffit que tu le récupères dans une variable, que tu réutilises. Si tu dois changer de page, soit tu transmets ce thème par GET, soit par variable de session, voire cookie.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°2023662
Jacksons
Posté le 19-09-2010 à 10:57:32  profilanswer
 

ok je vais esseyé merci !

n°2023830
rufo
Pas me confondre avec Lycos!
Posté le 20-09-2010 à 13:01:02  profilanswer
 

Evidemment, dans ta table des questions, y'a en clé étrangère l'ID du thème, histoire de pouvoir lier ta table des questions à ta table des thèmes (donc avoir des questions en rapport avec le thème désiré).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2024254
Jacksons
Posté le 21-09-2010 à 20:06:46  profilanswer
 

Hmm mon problème persiste malres tout !
 
J'ai créé un champ id_theme dans les questions en lui mettant 1 pour les questions qui correspondent au theme 1 et 2 pour les questions qui correspondent au theme 2.
 
Ensuite voilà la requete que je tape :
 
 
 
   
    $reponse = $bdd->query('SELECT theme.themes, theme.id, questions.Question FROM theme, questions WHERE questions.id_theme = themes.id');    
     
     $donnees = $reponse->fetch();
 
?>
 
 <div id = "quest"> <?php echo $donnees['Question']; ?> </div>
 
Résultat: sa m'affiche toujours la même question quelque soit le theme ! (cette question affichée est la première de ma table).  
 
Est ce que sa peut venir du fait que je change de page entre le choix du theme et la page suivante ?  

n°2024262
aideinfo
Posté le 21-09-2010 à 20:31:01  profilanswer
 

aideinfo a écrit :

Tu dois choisir ton thème par Rand() je suppose. Rand() va te renvoyer le numéro du thème, il suffit que tu le récupères dans une variable, que tu réutilises. Si tu dois changer de page, soit tu transmets ce thème par GET, soit par variable de session, voire cookie.



---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°2024269
Jacksons
Posté le 21-09-2010 à 20:47:40  profilanswer
 

Ok mais le problème c'est que comment je transfert une donnée qui vient d'un lien ? je veux dire comment je dois m'y prendre pour transférer le choix de l'utilisateur qui est fait à partir d'un lien ?
 
Je vois pas comment je dois écrire sa en variable de session
 
J'espère avoir été clair !

n°2024496
rufo
Pas me confondre avec Lycos!
Posté le 22-09-2010 à 14:36:28  profilanswer
 

Code :
  1. $donnees = $reponse->fetch();
  2. <div id = "quest"> <?php echo $donnees['Question']; ?> </div>


 
En même temps, si tu fait pas un while pour afficher toutes les questions, ça risque pas de marcher. Et utilise RAND() pour avoir un ordre aléatoire du thème et des question du thème on t'a dit... :o


Message édité par rufo le 22-09-2010 à 14:36:52

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2024983
Jacksons
Posté le 24-09-2010 à 21:37:21  profilanswer
 

Cette fois c'est l'inverse aucunes question ne s'affiche quelque soit le theme voici le code complet:
 
 
Syntaxe: [ Télécharger ] [ Masquer ] [ Sélectionner ] [ Agrandir ]
Code php
       <?php      
 
                        try
{
        $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}  
 
?>
 
<?php
     
   $theme = htmlspecialchars($_GET['theme']);
 
     
  $reponse = $bdd->query('SELECT theme.themes, theme.id, questions.Question FROM theme, questions WHERE themes.id = ' . $theme . ' AND questions.id_theme = themes.id');
 
   
     
     while($donnees = $reponse->fetch()){
 
?>
 
 <div id = "quest"> <?php echo $donnees['Question']; ?> </div>
 
<?php
}
?>


Message édité par Jacksons le 24-09-2010 à 21:38:17
n°2025005
stealth35
Posté le 25-09-2010 à 00:39:24  profilanswer
 
mood
Publicité
Posté le 25-09-2010 à 00:39:24  profilanswer
 

n°2025038
Jacksons
Posté le 25-09-2010 à 12:06:44  profilanswer
 

je l'ai fait sa change absolument rien:
 
    <?php      
 
                    try
{
 $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');
 $dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
 
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}  
 
?>
 
<?php
     
   $theme = htmlspecialchars($_GET['theme']);
   $id = htmlspecialchars($_GET['id']);
 
     $reponse = $bdd->query('SELECT themes.theme, themes.id, questions.Question FROM themes, questions WHERE questions.id_themes = themes.id AND themes.id = '. $theme. '');
         
     while($donnees = $reponse->fetch()){
      var_dump($donnees);
 
?>
 
 <div id = "quest"> <?php echo $donnees['Question']; ?> </div>
 
    <?php
     }
     ?>

n°2025065
stealth35
Posté le 25-09-2010 à 16:38:28  profilanswer
 

je t'ai répondu sur l'autre forum


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

  Requête en fonction d'un choix

 

Sujets relatifs
Tomcat et filtre de requête et classloaderChoix Slider ou non ?
Modifier des labels en fonction des changements d'une textboxFonction Javascript pour slideup / slidedown multiples
Fonction de débugRécupérer une valeur retournée par une fonction appellée par un event
[mysql] SELECT puis UPDATE du SELECT en une requeteproblème avec la fonction vlookup
Pourquoi ma requete s'arrete?un programme en python appelle une fonction C .. ?
Plus de sujets relatifs à : Requête en fonction d'un choix


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