oui14
Messages postés20Date d'inscriptionvendredi 28 décembre 2007StatutMembreDernière intervention 6 novembre 2008
-
6 nov. 2008 à 11:27
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
6 nov. 2008 à 23:45
Bonjour à tous.
Comme je l'ai écrit dans le titre, je souhaiterais savoir s'il était possible d'attribuer une valeur variable à une variable selon l'entrée que l'on récupère dans une table.
Pour être un peu plus précis, je souhaite faire un questionnaire à mettre dans un chat.
Je fais donc une requête Mysql permettant de m'afficher une entrée de ma table au hasard
et souhaiterais pouvoir attribuer à une variable la valeur que Mysql me donne.
J'ignore si cela est possible mais si tel est le cas, j'aurais voulu comment.
Je vous donne le code qui ne fonctionne pas pour que vous puissiez m'aider :
<hr />
$reponse_quest = mysql_query("SELECT question FROM bot_gamme ORDER BY RAND() LIMIT 1"); // Requête SQL
while ($donnees_quest = mysql_fetch_array($reponse_quest) )
{
echo $donnees_quest['question'];
}
if ($donnees_quest['question']=='Nommez les notes de la gamme de C .')
{
$quest = 'Nommez les notes de la gamme de C .'||'Nommez les notes de la gamme de D .';
}
elseif ($donnees_quest['question']=='Nommez les notes de la gamme de D .')
{
$quest = 'Nommez les notes de la gamme de D .';
}
elseif ($donnees_quest['question']=='Nommez les notes de la gamme de E .')
{
$quest = 'Nommez les notes de la gamme de E .';
}
elseif ($donnees_quest['question']=='Nommez les notes de la gamme de F .')
{
$quest = 'Nommez les notes de la gamme de F .';
}
$reponse_b = mysql_query("SELECT question FROM bot_gamme WHERE question='".$quest."' "); // Requête SQL
while ($donnees_b = mysql_fetch_array($reponse_b) )
{echo ''.$donnees_b['question'].'';}
<hr />
Le but ici étant d'attribuer à $donnees_b['question'] la même valeur que $donnees_quest['question'] .
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 6 nov. 2008 à 12:54
la logique de ton script est assez tordue...
remplace :
or die mysql_error());
par :
or die(mysql_error());
pourquoi ne pas faire :
$quest = $donnees_quest['question']
?
et t'es sur que dans ta base de donnee t'as juste :
"Nommez les notes de la gamme de Truc"
parce-que quand tu veux afficher la question aleatoire, ca ne semble pas etre le cas...
bon, parlons de ta seconde requete maintenant :
$reponse_b = mysql_query("SELECT question FROM bot_gamme WHERE question='".$quest."' "); // Requête SQL
elle ne sert a rien...
select question ... where question = ...
t'as deja la reponse, tu sais deja ce que vaut question a ce moment la, donc pourquoi une seconde requete ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
oui14
Messages postés20Date d'inscriptionvendredi 28 décembre 2007StatutMembreDernière intervention 6 novembre 2008 6 nov. 2008 à 13:11
re :
"la logique de ton script est assez tordue... "
ça c'est plus que probable... :lol:
" remplace : or die mysql_error()); par : or die(mysql_error()); "
du coup, je n'ai plus d'erreur afficher mais rien ne s'affiche.
" pourquoi ne pas faire : $quest = $donnees_quest['question'] ? "
Je l'ai déjà fait mais ça ne donne rien non plus.
D'où la logique tordue.. :lol:
" bon, parlons de ta seconde requete maintenant :
$reponse_b = mysql_query("SELECT question FROM bot_gamme WHERE question='".$quest."' "); // Requête SQL
elle ne sert a rien...
select question ... where question = ...
t'as deja la reponse, tu sais deja ce que vaut question a ce moment la, donc pourquoi une seconde requete ? "
Sur ce bout de script oui, mais le but, à terme est de pouvoir comparer la réponse d'un utilisateur avec la réponse à la question que le $donnees_quest['question'] affiche.
oui14
Messages postés20Date d'inscriptionvendredi 28 décembre 2007StatutMembreDernière intervention 6 novembre 2008 6 nov. 2008 à 13:23
re :
Et bien en fait je fais du pas à pas car je débute.
Ce que je voudrais faire c'est :
1 - Avoir une question qui s'affiche de manière aléatoire. ( ça j'arrive )
2 - L' utilisateur donne sa réponse. (ça j'arrive )
3 - On compare la réponse donnée à celle de la table où se trouve la question. ( c'est là que je bloque puisque la question est aléatoire )
4 - Si la réponse est mauvaise on repose la question.
5 - Si la réponse est bonne on passe à la question suivante.
Voilà. Est-ce que c'est plus clair ou pas.
Mais peut être que je sui sur la mauvaise voie avec ce code .
oui14
Messages postés20Date d'inscriptionvendredi 28 décembre 2007StatutMembreDernière intervention 6 novembre 2008 6 nov. 2008 à 14:14
re :
Bon alors j'ai modifié mon script :
// On selectionne l'entrée de la table "bot_gamme" possédant l'id 1.
$reponse_quest = mysql_query("SELECT question FROM bot_gamme WHERE id=1"); // Requête SQL
// On fait une boucle pour afficher le résultat :
while ($donnees_quest = mysql_fetch_array($reponse_quest) )
// On l'affiche.
{
echo $donnees_quest['question'];
}
// On selectionne la dernière entrée de la table "lou_gamme" dans le champ "message"
$reponse_mbr = mysql_query("SELECT message FROM lou_gamme ORDER BY id DESC LIMIT 0,01");
// On fait une boucle pour afficher le résultat :
while ($donnees_mbr = mysql_fetch_array($reponse_mbr) )
// On l'affiche ( pour vérifier )
{ echo ''.$donnees_mbr['message'].'';}
// On selectionne la réponse "c" du champ "b_reponse" de la table "bot_gamme"
$reponse_b = mysql_query("SELECT b_reponse FROM bot_gamme WHERE b_reponse='c'"); // Requête SQL
// On fait une boucle :
while ($donnees_b = mysql_fetch_array($reponse_b) )
// On l'affiche ( pour vérifier toujours )
{ echo ''.$donnees_b['b_reponse'].'';}
// Si les variables sont identiques :
if ($donnees_mbr['message']=$donnees_b['b_reponse'])