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

PHP & Base de données Discussion :

requete serveur en javascript


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 125
    Par défaut requete serveur en javascript
    Bonjour,

    Voila j'utilise une requete serveur javascript pour charger un select, jusque là pas de pb.
    Seulement je n'arrive à faire charger que des chiffres et pas le libellé. je montre le code pour mieux comprendre :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    $_POST["form"]="form_pack1";
    $_POST["dept"] = "1";
    $_POST["select"]="ville_depart";
    $tbNumDept = explode("-", $_POST["dept"]);
     
    $strWhere = " WHERE ";
     
    for($i=0; $i<count($tbNumDept) ; $i++){
    	$strWhere .= " `ville_dept_id` = '".$tbNumDept[$i]."' OR ";
    }
     
    $strWhere = substr($strWhere, 0, strlen($strWhere)-4);
     
    $query  = "SELECT ville_id , ville_cp, ville_nom FROM vp_ville ".$strWhere;
    $query .= "  ORDER BY `ville_id`";
     
    $result = @mysql_query($query);
     
    echo 'var o = null;';
    echo 'var s = document.forms["'.$_POST["form"].'"].elements["'.$_POST["select"].'"];';
    echo 's.options.length = 0;';
    while($r = mysql_fetch_array($result)){
    	//echo 's.options[s.options.length] = new Option("'.$r['ville_nom'].'");';
    	//dessus marche pas
    	echo 's.options[s.options.length] = new Option("'.$r['ville_id'].'");';
    //dessus marche
    }
     
    @mysql_close($mysql_db);
    Ma requete est bonne (verif avec echo...)
    Pourquoi ça ne marche pas avec le nom de la ville


    Faut -il faire autre chose pour gérer du texte?

    merci d'avance

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Perso, j'ai tendance à sortir de PHP pour faire un affichage de HTML ou de JS, c'est plus clair dans le code et ça permet de moins s'embrouiller avec les guillemets.
    Si tu mets la requête dans phpMyAdmin, il te donne bien le nom de la ville ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 125
    Par défaut
    oui ma requete est correcte (j'ai testé dans phpmyadmin, en appelant directement la page....)

    dès que je veux le nom de la ville rien ne s'affiche, mais si je veux l'id ou le code postal, ça s'affiche.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 24
    Par défaut
    Est ce que les nom de tes villes ont des apostrophes.
    Si oui ca vient sans doute d'un problème de cotes

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Je ne te demande pas si la requête est correcte mais s'il te donne bien un nom de ville dans le résultat.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 125
    Par défaut
    dans phpmyadmin ma requete donne bien les id,cp et nom des villes.

    Je viens de vérifier et je n'ai pas d'apostrophe dans le libellé des villes...

  7. #7
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Peux-tu nous donner un extrait de ce qu'écrit PHP ?
    Peux-tu aussi essayer ce que je t'ai proposé plus haut (sortir de PHP pour afficher du JS), même si cela ne changera certainement rien ?

  8. #8
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Par défaut
    mysql_fetch_array
    Pour avoir le nom des colonnes, c'est mysql_fetch_assoc

  9. #9
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Citation Envoyé par hugo123
    mysql_fetch_array
    Pour avoir le nom des colonnes, c'est mysql_fetch_assoc
    Ça passe aussi bien avec mysql_fetch_array(), seulement il ya aussi l'index numérique...

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 125
    Par défaut
    voila un extrait de ce que renvoie le fichier php appelé par post du js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var o = null;
    var s = document.forms["form_pack1"].elements["ville_depart"];
    s.options.length = 0;s.options[s.options.length] = new Option("1/01000/BOURG EN BRESSE");
    s.options[s.options.length] = new Option("2/01000/BROU ");
    s.options[s.options.length] = new Option("3/01000/ST DENIS LES BOURG ");
    s.options[s.options.length] = new Option("4/01090/AMAREINS ");
    s.options[s.options.length] = new Option("5/01090/AMAREINS FRANCHELEINS CES ");
    et si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var o = null;
    var s = document.forms["form_pack1"].elements["ville_depart"];
    s.options.length = 0;s.options[s.options.length] = new Option("jjjjjjjjjjjjjjjj");
    ça s'affiche dans le select

    donc je dois avoir un soucis dans le nom des villes mais lequel?

  11. #11
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Par défaut
    Au temps pour moi, j'ai confondu avec l'erreur classique du mysql_fetch_row.

    je conseille donc
    - d'enlever le @ devant le mysql_query
    - de faire un print_r ($r) afin de voir son contenu au tout début du while

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 125
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $result = mysql_query($query);
    print_r($result);
    donne : Resource id #4[/list]

  13. #13
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Oui, surtout de faire mysql_query($sql) or die(mysql_error());

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 125
    Par défaut
    j'ai fait tout ce que vous m'avait dit mais aucun changement...

    Je viens de vider ma table et ne mettre qu'une seule ville et ça marche

    pourtant dans les villes que je viens de retirer il n'y avait pas d'apostrophe, que des lettres

  15. #15
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    J'ai peut-être pas tout suivi mais, dans ce message, il me semble que tu as rapporté plusieurs noms de villes, ce qui laisse supposer que PHP fait ce que tu souhaites.
    Peut-être est-ce JavaScript qui ne réagit pas selon ce que tu attends ?

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 125
    Par défaut
    je viens de vider ma table ville et j'ai insérer des villes bidons :

    résultat : cela fonctionne

    Pour charger ma table de ville, j'ai un fichier txt que je parse en php pour la rentrer dans ma base

    Et quand j'utilise cette table (valeur du fichier txt) cela ne marche plus, pourtant dans le fichier txt pas d'apostrophe, ni d'accent....

  17. #17
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Je pane rien à rien, et ce depuis le titre...
    Où est la requête du JavaScript au serveur ?
    As-tu une table correctement remplie, avec des champs et des tuples, en somme : un truc normal ?
    PHP arrive-t-il à récupérer correctement les infos et à les envoyer au navigateur ?

    Après tout cela, ce n'est plus le problème de PHP mais de JavaScript... Donc pas le bon forum ^^

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 125
    Par défaut
    ALors là je ne comprends pas tout,
    je viens de mettre mon champ ville en type : text (avant il était en varchar) et là tout fonctionne

    pas tout compris

Discussions similaires

  1. [AJAX] requete php dans JavaScript
    Par juliens9 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 22/11/2007, 13h28
  2. Requete dans du javascript
    Par olivier94 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/02/2007, 12h18
  3. [newbie]une requete sql dans javascript
    Par megapacman dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/06/2006, 15h59
  4. [requetes serveurs]load
    Par trach.sam dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/05/2006, 01h14

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