IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] enchainement de script ajax sur <select>


Sujet :

JavaScript

  1. #21
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Citation Envoyé par lodan
    Dans mon javascript, j'ai bien param1 avec la bonne valeur, j'ouvre bien la base de données, je ne t'avais pas mis le code correspondant.

    L'erreur reste la même

    Voici le xml revu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    if(!isset($param1)) $param1="";
    $inf = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?><racine>\n";
     
    $sql = "SELECT id_bud_categorie, libelle, id_bud_classe
    		FROM t_bud_categorie
    		WHERE id_bud_classe=\"$param1\"
    		WHERE `id_trt`>0 and `id_trt`<5
    		ORDER BY `libelle`";
     
    $req = mysql_query($sql);
     
    while($val = mysql_fecth_array($req)){
       $inf .= "<balise1>".$val["libelle"]."</balise1>\n";
       $inf .= "<balise2>".$val["libelle"]."</balise2>\n";
       // ETC
    }
     
    $inf .= "</racine>";
    print $inf;
    J'avais fait une faute de frappe à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while($val = mysql_fecth_array($req)){
    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while($val = mysql_fetch_array($req)){
    Je ne sais pas si tu l'avais corrigée .. Ca pourrait être une des raisons pour que la boucle tourne ... en boucle.

    Si tu l'avais corrigée je ne comprends pas pourquoi la boucle ne s'arrêtait pas.

  2. #22
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Voici mon code xml avec mon print_r et un echo de $inf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    if(!isset($param1)) $param1="";
    $inf = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?><racine>\n";
     
    $sql = "SELECT id_bud_categorie, libelle, id_bud_classe
    	FROM t_bud_categorie
    	WHERE id_bud_classe=".$param1."
    	AND `id_trt` BETWEEN 1 AND 4
    	ORDER BY `libelle`";
     
    $req = mysql_query($sql);
     
    print_r($req, $return = null);
    while($val=mysql_fetch_array($req)){
       $inf .= "<balise1>".$val["libelle"]."</balise1>\n";
       $inf .= "<balise2>".$val["libelle"]."</balise2>\n";
       // ETC
    }
    echo $inf;
    $inf .= "</racine>";
    print $inf;
    Et le résultat du print_r est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Resource id #16 ALLOCATIONS CAF ALLOCATIONS CAF AUTRES RESSOURCES AUTRES RESSOURCES REVENUS DU TRAVAIL REVENUS DU TRAVAIL
    L'echo de $inf donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALLOCATIONS CAF ALLOCATIONS CAF AUTRES RESSOURCES AUTRES RESSOURCES REVENUS DU TRAVAIL REVENUS DU TRAVAIL
    Ce qui est normal puisque j'ai mis 2 fois libelle entre les balises.

    D'ailleur comme j'ai besoin de l'id de la catégorie comme argument de recherche pour la sous-categorie qui sera le prochain select à positionner, c'est ici que je dois le mettre ?

  3. #23
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Oui, c'est ici étant donné que dans ton fichier javascript tu créés les éléments <option></option> qui auront pour valeur cet id.

    Ce qui donnera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    if(!isset($param1)) $param1="";
    $inf = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?><racine>\n";
     
    $sql = "SELECT id_bud_categorie, libelle, id_bud_classe
    	FROM t_bud_categorie
    	WHERE id_bud_classe=".$param1."
    	AND `id_trt` BETWEEN 1 AND 4
    	ORDER BY `libelle`";
     
    $req = mysql_query($sql);
     
    while($val=mysql_fetch_array($req)){
       $inf .= "<balise1>".$val["id_bud_categorie"]."</balise1>\n";
       $inf .= "<balise2>".$val["libelle"]."</balise2>\n";
       // ETC
    }
     
    $inf .= "</racine>";
    print $inf;
    Je te conseille aussi de changer le nom des balises en d'autres plus significatifs, pour te retrouver plus facilement quand tu déclares les variables dans ton fichier javascript.

  4. #24
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Oui, j'ai bien l'intention de changer les noms des <balise1> etc une fois que ce sera ok.

    Pour l'instant, j'ai toujours la même erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    117 var liste1 = xmlhttp.responseXML.getElementsByTagName('balise1');
    Avec un echo sur $inf qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    2 ALLOCATIONS CAF 3 AUTRES RESSOURCES 1 REVENUS DU TRAVAIL 2 ALLOCATIONS CAF 3 AUTRES RESSOURCES 1 REVENUS DU TRAVAIL
    C'est à dire que j'ai 2 fois le contenu de la table lu.

    Cela reste une énigme.

  5. #25
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    @lodan : Regarde directement le résultat du fichier XML généré en tapant l'URL du fichier dans la barre d'adresses, ça nous en dira sans doute plus long.

  6. #26
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    J'ai bien ma ligne de résulat correct :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    2 ALLOCATIONS CAF 3 AUTRES RESSOURCES 1 REVENUS DU TRAVAIL
    Et je garde l'erreur sur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var liste1 = xmlhttp.responseXML.getElementsByTagName('balise1');
    Je suis têtu sur cette erreur, je sais, je sais.

  7. #27
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Si ton fichier XML est bon mais que ton fichier javascript n'arrive pas à lire les valeurs c'est qu'il n'arrive pas à charger le fichier, je ne vois que ça ..

    Vérifie à nouveau si le chemin vers le fichier est bon.

  8. #28
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Oui, je suis sûr de mon chemin d'accès. Existe-t-il un moyen de tester s'il existe et d'envoyer une alerte si ce n'est pas bon.

  9. #29
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Je viens de chercher et je n'ai trouvé aucune info à ce sujet.

    Ce que tu peux faire, c'est mettre l'adresse en absolu, là tu seras sûr du chemin de ton fichier.

  10. #30
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    C'est ce que j'ai fait et c'est du pareil au même.

    Par acquis de conscience, j'ai même fait un copié collé de ma ligne de mon JS vers la barre de navigation de FF et mon xml fonctionne.

  11. #31
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    http://www.webdeveloper.com/forum/sh...d.php?t=105213
    Peut-être trouveras-tu ton bonheur là-dessus ..

    Je sèche totalement.
    Pourrais-tu me montrer tout ton code (sans l'appel à la base de données, évidemment), que je le teste de mon poste ?

  12. #32
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    @lodan : Tu me vois vraiment désolé ... Je sais ce qu'est ton problème.

    Rajoute cette ligne tout en haut du fichier liste.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Content-Type: text/xml; charset=ISO-8859-1');
    Encore désolé, on se casse la tête depuis deux heures dessus.

  13. #33
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Ce n'est pas grave, c'est souvent quand on a le nez dessus que l'i=on ne voit plus rien.

    Bon déjà apparemment on va un peu plus loin, en tout cas on change d'erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    données incompréhensibles après l'élément de document
    ajaxCategorie.php... (line 2)
    <b>Warning</b>: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in <b>c:\program files\easyphp1-8\www\monsite\ajax\ajaxcategorie.php</b> on line <b>23</b><br /> ^
    Sur la partie de script suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $sql = "SELECT id_bud_categorie, libelle, id_bud_classe
    	FROM t_bud_categorie
    	WHERE id_bud_classe=".$param1."
    	AND `id_trt` BETWEEN 1 AND 4
    	ORDER BY `libelle`";
     
    $req = mysql_query($sql);
     
    while($val=mysql_fetch_array($req))
    {
       $inf .= "<balise1>".$val["id_bud_categorie"]."</balise1>\n";
       $inf .= "<balise2>".$val["libelle"]."</balise2>\n";
       // ETC
    }
    Là je ne voit pas d'erreur, à moins que ce soit xml qui n'apprécie pas la syntaxe ?

  14. #34
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    A quelle ligne correspond la ligne 23 ?

    Et change la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = mysql_query($sql);
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$req.'<br>'.mysql_error());
    On aura un meilleur aperçu de l'erreur.

  15. #35
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    C'est l'erreur suivante sur la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Erreur SQL !<br><br>Erreur de syntaxe près de '[object HTMLSelectElement]
    	AND `id_trt` BETWEEN 1 AND 4
    	ORDE' à la ligne 3

  16. #36
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Il ne doit pas aimer les bitonios ` je pense .. Et vérifie que tu as un espace après le dernier " de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE id_bud_classe=".$param1."

  17. #37
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    J'ai tout mis sur une ligne pour voir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT id_bud_categorie, libelle, id_bud_classe	FROM t_bud_categorie WHERE id_bud_classe=".$param1." AND `id_trt` BETWEEN 1 AND 4 ORDER BY `libelle`";
    l'erreur est celle-ci sur la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur SQL !<br><br>Erreur de syntaxe près de '[object HTMLSelectElement] AND `id_trt` BETWEEN 1 AND 4 ORDER BY' à la ligne 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    erreur de syntaxe
    ajaxCategorie.php... (line 1)
    Erreur SQL !<br><br>Erreur de syntaxe près de '[object HTMLSelectElement] AND `id_trt` BETWEEN 1 AND 4 ORDER BY' à la ligne 1 ^

  18. #38
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Supprime les espèces d'apostrophes ` autour de "libelle" et de "id_trt".

    Ton champ "id_bud_classe" est bien de type entier ?

  19. #39
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    id_bud_classe int(3)

    L'erreur reste la même.

  20. #40
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Tu peux faire un echo de $param1 pour voir ce qu'il y a dedans ? Je n'ai pas l'impression qu'il y ait un nombre ...

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. Ajax + Script PHP sur un autre serveur
    Par ganjaaw dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/01/2009, 08h35
  2. [AJAX] Click sur select alimenté par ajax plante ie
    Par Pgs dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 08/04/2008, 10h45
  3. [AJAX] acces refusé sur execution script ajax avec IE
    Par avogadro dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/01/2007, 11h34
  4. [AJAX] Script ajax ne fonctionne pas sur IE :( !
    Par Funattitude dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 10/08/2006, 18h02
  5. [AJAX] forcer un script ajax à ne pas regarder dans le cache
    Par grinder59 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/07/2006, 17h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo