Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : $variable variable selon le cas. [ Base de données / MySQL ] (oui14)

jeudi 6 novembre 2008 à 11:27:24 | $variable variable selon le cas.

oui14

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 :


$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'].'';}




Le but ici étant d'attribuer à $donnees_b['question'] la même valeur que $donnees_quest['question'] .


Merci d'avance pour votre aide...

++


jeudi 6 novembre 2008 à 12:19:32 | Re : $variable variable selon le cas.

coucou747

salut

je ne comprends pas cette ligne de code :

$quest = 'Nommez les notes de la gamme de C .'||'Nommez les notes de la gamme de D .';


si tu pouvais nous dire ce que tu voulais faire avec, et ce qui ne marche pas dans ton code, ca nous aiderait pour t'aider.

jeudi 6 novembre 2008 à 12:32:44 | Re : $variable variable selon le cas.

oui14

Salut.

Je me suis trompé en copiant/collant.

$quest = 'Nommez les notes de la gamme de C .'||'Nommez les notes de la gamme de D .';

Doit être remplacer par :

$quest = 'Nommez les notes de la gamme de C .'



Et bien ce qui ne fonctionne pas, c'est que php ne m'affiche pas $donnees_b['question'] en fonction de la valeur de $donnees_quest['question'].

Il m'affiche toujours 'Nommez les notes de la gamme de C .' quel que soit la valeur de $donnees_quest['question']

Je ne sais pas si je suis clair...

++

jeudi 6 novembre 2008 à 12:50:03 | Re : $variable variable selon le cas.

oui14

re:

Bon alors il ne m'affiche plus rien.

J'ai donc ajouté un "or die" :

(ligne 59 ) $reponse_b = mysql_query("SELECT question FROM bot_gamme WHERE question='".$quest."' ")or die mysql_error());

Et voilà ce qu'il me dit :

Parse error: syntax error, unexpected T_STRING in /home/loumessaca/www/navigation/gamme.php on line 59

++

jeudi 6 novembre 2008 à 12:54:43 | Re : $variable variable selon le cas.

coucou747

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 ?

jeudi 6 novembre 2008 à 13:11:37 | Re : $variable variable selon le cas.

oui14

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.

++

jeudi 6 novembre 2008 à 13:14:40 | Re : $variable variable selon le cas.

coucou747

ce que tu nous dit ne m'aide pas a comprendre ton code...

jeudi 6 novembre 2008 à 13:23:21 | Re : $variable variable selon le cas.

oui14

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 .

++

jeudi 6 novembre 2008 à 13:41:25 | Re : $variable variable selon le cas.

coucou747

pour memoriser la question deja posee et sa reponse, tu devrais utiliser $_SESSION plutot que de faire une nouvelle requete.

jeudi 6 novembre 2008 à 14:14:38 | Re : $variable variable selon le cas.

oui14

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'])

// On affiche "Bravo"

{ echo 'bravo !';}

Si elles ne le sont pas :

elseif ($donnees_mbr['message']== $donnees_b['b_reponse'])

// On affiche " Dommage "

{ echo 'dommage !';}
 

Un problème demeure hélas : Le message affiché ne varie pas.

J'ai fais un "echo" de chaque variable pour m'assurer qu'elles sont bonnes mais quelle que soit la réponse donnée, il m'affiche toujours "bravo"..

Je suis perdu ou fatigué mais je ne comprends plus..

++



1 2

Cette discussion est classé dans : donnees, question, notes, gamme, quest


Répondre à ce message

Sujets en rapport avec ce message

Requête Multitable [ par ripoux ] Bonjour,J'ai un soucis au niveau des requêtes multitable en MySQL...Voila ce que j'aimerais faire:J'ai une table de "question" et un table de "réponse php question [ par Redsnake03 ] Alors bonjour j'ai une question concernant phpje veux savoir si c'est posible de faire example $pseudo = adresseemail@hotmail.com$selection = mysql_qu question [ par motorolav3 ] salut,j'ai préparé l'interface de mon module de paiement electronique et il me reste la partie qui concerne la sécurité des transactions. réllement,je question [ par sonypio ] salut tout le monde ,je veux faire une classe en php qui me permet de signaler à un utilisateur qu'il ya un changement dans la base de données lorsq'u Masquer le $_POST [ par DarkCid ] Bonjour,je suppose que bon nombre d'entre vous, si vous développez sous firefox, connaissez firebug. Avec lui, on peut voir les données que l'on envoi Récupérer des donnees [ par Minette26 ] Bonjour,Je suis bloquée sur un problème pouvez-vous me dépanner ?Pour chaque adhérent j'entre un dépôt qui peut avoir 20 entrées de refDEP1 à refDEP20 enregistrement dans une base de donnees [ par colombe tresor ] salut les informaticiensje voudrais faire un petit site;je ne sais rien aidez moi svp;ce site fera la recherche par mot clé avec php;mais on devra d'a Question Performance... [ par ELCouz ] Bonjour,Je developpe presentement un site en php.Je me suis toujours poser cette question:Niveau performance... es-ce plus rapide de storer le texte a Transformer chaine texte venant de SQL en chaine math (formule de calcul) [ par tafa60 ] Bonjour,Je dois réaliser une sorte de bulletin de note automatisé pour un grand nombre de type de BAC (donc pas de saisie en dur dans mon script) sach


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,624 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.