Requête en fonction d'un choix - PHP - Programmation
Marsh Posté le 18-09-2010 à 22:35:31
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.
Marsh Posté le 20-09-2010 à 13:01:02
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é).
Marsh Posté le 21-09-2010 à 20:06:46
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 ?
Marsh Posté le 21-09-2010 à 20:31:01
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. |
Marsh Posté le 21-09-2010 à 20:47:40
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 !
Marsh Posté le 22-09-2010 à 14:36:28
Code :
|
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...
Marsh Posté le 24-09-2010 à 21:37:21
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
}
?>
Marsh Posté le 25-09-2010 à 12:06:44
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
}
?>
Marsh Posté le 18-09-2010 à 17:32:05
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.