Quelqu'un sait pourquoi ...

Résolu
Signaler
Messages postés
431
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2008
-
Messages postés
431
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2008
-
... ma variable n'est pas prise en compte dans ma requête ?



La variable $type_app_mod est issue d'un bouton radio.

L'affichage fonctionne, c'est-à-dire qu'elle varie bien alors que dans
ma requête (voir ce qui est en gras), elle est toujours à 0, donc pas
prise en compte.



Merci pour votre aide !





Voici mon code :





echo "$type_app_mod";



function getscores() {

$notes = array();

$query = mysql_query("SELECT applications.libelle AS
libelle_applications, modules.libelle AS libelle_modules, app_mod.notes
AS note FROM applications, modules, app_mod WHERE app_mod.applications
applications.id AND app_mod.modules modules.id AND applications.type = '$type_app_mod' ");

while($note =mysql_fetch_array($query)) {

$notes[$note["libelle_applications"]][$note["libelle_modules"]]=$note["note"];

}

return $notes;

}

13 réponses

Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
et pour eviter de refaire la meme erreur, un petit lien interessant qui t'expliquera pkoi ça ne marchait pas ;)



http://fr.php.net/global

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,



exemple de fonction avec un parametre, je crois que c'est necessaire :



// je declare une variable

$var = 1;



// ma fonction

function test ($a) { // elle prend un parametre

echo 'La valeur du parametre passe a la fonction est
: ', $a; // ma fonction affiche la variable qu'on lui passe en parametre

}



// J'appelle ma fonction avec ma variable declaree plus haut

test ($var); // va afficher : La valeur du parametre passe a la fonction est : 1



Ca va mieux...?
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
Hello ..



bizarre bizarre tout ça.



si j'ai bein compris dans ton echo ça fonctionne, mais pas dans ta query..



pour le debuguing,

essai ceci juste pour voir:



$sql= "SELECT applications.libelle AS libelle_applications, modules.libelle
AS libelle_modules, app_mod.notes AS note FROM applications, modules,
app_mod WHERE app_mod.applications = applications.id AND
app_mod.modules modules.id AND applications.type '$type_app_mod'"



puis



$query=mysql_query($sql) or die (mysql_error());



et donne nous le résultat..



ps: par souci d'optimisation, utilise des "simples quotes" ( ' ),
plutot que des doubles, y compris dans ta requete (concatene ta
variable par: '.$tavariable.' )



-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
arf! , j'ai oublié:

fais bien sur un "echo $sql" avant ta query :)




-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
bon, ben ... j'avais meme pas vu que tu étais dans une fonction...

passe lui le $type_app_mod en parametres:



function getscores($type_app_mod)

{

...

}



et ça devrait marcher ;)




-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
431
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2008

Merci davwart, j'ai testé mais...



"Parse error: parse error, unexpected T_VARIABLE in ..."



:-(
Messages postés
431
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2008

Je viens de voir tes messages, je recommence :-)
Messages postés
431
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2008

Euh, petite erreur encore, je vais lire les infos que tu m'as envoyé en attendant...



Warning: Missing argument 1 for getscores() in c:\program
files\easyphp\www\blark\admin\matrice_app_mod.php on line 294
Messages postés
431
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2008

Si je comprends bien ce que je viens de lire, je dois redéfinir ma
variable dans la fonction afin qu'il ne lui assigne pas la valeur 0.

Mais dois-je utiliser 'global' ou '$_GLOBAL[]', je ne connais pas trop, je ne m'en suis jamais servi.



Merci
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
voilà, l'exemple de malalam est explicite.





tu dois donc faire un getscores($type_app_mod)...





-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
431
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2008

Merci beaucoup les gars !

J'ai appris quelque chose d'important aujourd'hui, c'est cool.

Et ça fonctionne maintenant :-)



Davwart, j'ai vu que tu avais répondu à mon message sur les 2 boucles
while ce week-end, pourrais-tu aller voir, cela a fonctionné à moitié.

Thanks a lot.
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
oky je vais jeter un oeil !
-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
431
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2008

C'est très gentil, merci beaucoup pour ton soutien... Ainsi qu'aux autres !