Variable php dans fonction xajax

Bonjour,
Bossant un peu en ajax, j’ai rencontré un petit souci :
C’est pour un magasin de pret a porter, je vais chercher toutes les marques de vêtement dans la base de données comme ceci :

Connexion::getConnexion();
$listeMarques = mysql_query(“SELECT * FROM marque”);
while($marque = mysql_fetch_array($listeMarques)){
$marques .= ‘

  • ’.$marque[‘nom’].’
  • ’;
    }

    et donc dans mon onClick j’ai ma fonction xajax et en paramètre j’ai le nom de la marque, mais la ca ne fonctionne pas
    .si qqn a une idée
    Merci

    Et ça ne t’étonne pas ? Tu semble faire du javascript, et tu ne regarde pas le code rendu par php (donc ce que t’affiche le navigateur).

    Médite là dessus ce soir, la réponse est simple ceci dit.

    si tu pouvais expliquer ca m’arrangerait j’avoue … :wink:

    Nope. Lis le code généré par PHP… et le message d’erreur Javascript, plutôt explicite. Ensuite, on verra pour la correction.
    Edité le 16/11/2009 à 21:24

    Sérieusement je ne vois pas …

    Je suppose que tu n’as pas tellement cherché donc.

    Ton problème se situe là : onClick="xajax_affichageCategMarque(’.$marque[‘nom’].’);

    Javascript va lire : onClick="xajax_affichageCategMarque(L’Oréal);

    Ce qui est une erreur.

    Il te faut donc : 1) mettre un ’ pour en faire une chaine de caractère Javascript 2) utiliser addslashes() sur le nom pour éviter les problèmes d’apostrophes.
    Edité le 17/11/2009 à 13:28

    Pour diagnostiquer des erreurs “quand on clique et qu’on ne sait pas pourquoi ca ne marche pas”, tu peux utiliser firefox + firebug :

    • la console d’erreur pour savoir s’il y a eu une erreur javascript (ctrl+shif+j)
    • firebug pour savoir si une url a été invoquée et son code retour