begin process at 2012 02 15 09:51:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

$variable variable selon le cas.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

$variable variable selon le cas.

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

Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
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ée 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...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,586 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales