Probleme javascript/php

Discutez d'informatique ici !
rich93
Membre Naturel
Messages: 74
Enregistré le: 08 Nov 2007, 21:41

probleme javascript/php

par rich93 » 23 Avr 2010, 16:52

Bonjour j'ai un ptit problème surement tres simple mais qui m'empeche d'avancer.
Voici mon code :







mysql_connect("localhost", "root","") or die("erreur de connexion au serveur");
mysql_select_db("bd_agence") or die("erreur de connexion a la base de donnees");
?>

Les agences






Liste des différentes agences





$agence= mysql_query("SELECT numagence,nomagence ,telagence from agence");
echo"
    ";

    while($row = mysql_fetch_row($agence)){
    echo"
  • $row[1]
  • ";
    echo"
  • $row[2]
  • ";
    echo"
  • $row[3]
  • ";
    echo"";
    echo"

    ";
    }
    ?>


Je résume mon script : ca affiche la liste des agences(num,nom et tel) avec un bouton detail a cote de chaque agence.
Lorsque je clique sur le bouton détail, je veux qu'il affiche le nom de l'agence concerné dans une boite de message mais ca ne marche pas.

Par contre si je remplace onclick=details($row[1]); />"; par onclick=details($row[0]); ca m'affiche bien le numero de lagence dans 1 boite de message. Donc ce n'est pas mon code qui est faux ??

Merci de votre aide :we:

PS : j'ai essayé sur easyphp, wamp et sur le serveur free mais toujours pareil



rich93
Membre Naturel
Messages: 74
Enregistré le: 08 Nov 2007, 21:41

par rich93 » 23 Avr 2010, 17:08

J'ai trouvé moi meme d'où venait le probleme mais je n'arrive toujours pas a le resoudre.
La fonction javascript ne prend pas en compte les variables php qui sont des chaines de caractere, par contre elle accepte les variables php de type numérique.
POURQUOI ????!!!!!

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 13:00

par fatal_error » 23 Avr 2010, 18:28

salut,

tu peux regarder le code source de ta page, tu comprendras trse vite pourquoi ca marche.

En fait, dans ta page, coté client, qu'on peut considérer comme html, tu as qqch du style
Code: Tout sélectionner

dans le cas ou tu mets un entier...et
Code: Tout sélectionner
dans le cas ou tu mets une chaine de caracteres.
Bien sur, toto n'est pas une variable qui est connue, d'ou ton erreur.

Bon, ta syntaxe html est pas super, mais passons.
Le truc c'est qu'il faut protéger ta chaine de caractere pour qu'elle soit considérée comme telle et pas comme une variable

Code: Tout sélectionner
echo"";

devient alors
Code: Tout sélectionner
echo"";

Apres, tu vérifieras par exemple que si $row[1]='"toto"';
alors une fois interprété tu auras coté html
details(""toto""); ce qui te provoquera une erreur.

Dans ce cas là, tu rajoute un strip slashes sur $row[1] pour faire en sorte qu'une fois interprété, tu aie bien des \' ou \" coté js, ce qui ne devrait plus gener.

Bref :
Code: Tout sélectionner
echo"";
la vie est une fête :)

rich93
Membre Naturel
Messages: 74
Enregistré le: 08 Nov 2007, 21:41

par rich93 » 23 Avr 2010, 22:07

En effet ca marche très bien, merci beaucoup. Par contre j'ai une deuxième question, pourquoi ca ne marche qu'avec des chaînes de caractères avec un seul mot.
Par exemple $row[1]= "toto", lorsque je clique sur détails ca marche très bien,
un autre exemple $row[1] = "salut ca va", lorsque je clique détails ca n'affiche rien du tout.

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 13:00

par fatal_error » 24 Avr 2010, 00:43

euh, ca doit marcher aussi!

Je te conseillerais, afin que tu sois un peu autonome, de passer sous firefox (si c'est pas déjà le cas) et d'installer le plugin firebug!

Ca parait un peu chiant (j'étais un peu réticent au début), mais c'est vraiment tres (tres) bien fait.
la vie est une fête :)

rich93
Membre Naturel
Messages: 74
Enregistré le: 08 Nov 2007, 21:41

par rich93 » 24 Avr 2010, 14:27

alors j'ai installé firebug comme tu me las conseillé et voila ce que ca me donne pour le code suivant :

$chaine= 'salut cava';
echo"";
?>

Logiquement ca devrait me donner :


Mais firebug me donne :

Donc le 'cava' est interprété comme une propriété du button ??

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 13:00

par fatal_error » 24 Avr 2010, 23:25

euh, spas normal.

$chaine, si contient salut ca va, ca va pas faire apparaitre une minuscule à l'echo.


Ou alors, t'as un firebug qui arrive pas a dechiffrer ta syntaxe et qui taffiche l"'equivalent du code interprété".
Dans tous les cas, la question n'est pas cava est interprété comme attribut?, mais pourquoi est-ce que la syntaxe est pas celle que j'attend?

A cette dernière, j'ai envie de dire, testes tout ce dont tu n'es pas sûr :o
la vie est une fête :)

rich93
Membre Naturel
Messages: 74
Enregistré le: 08 Nov 2007, 21:41

par rich93 » 26 Avr 2010, 09:52

C'est bon j'ai trouvé, il suffisait de mettre :
echo '';

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 7 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite