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 :

implode() sur résultat d'une requête [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 109
    Points : 68
    Points
    68
    Par défaut implode() sur résultat d'une requête
    Bonjour à tous,

    J'ai un soucis avec la fonction implode() en php. Je voudrais mettre les resultats d'une requete dans un tableau javascript.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    				 $query ="SELECT City .
    				 		" FROM tables
    						;
     
     $getRes1 = mysql_query($query, $link);
     
     
    			$eventrow2 =  mysql_fetch_row($getRes1);
     
    			}
    J'ai deux resultat pour cette requetes ( je sais je l'ai testé avec mon SGBD).
    Et je veux donc mettre ces deux resultat dans un tableau pour cela je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    			echo '<script language="Javascript">';
    			echo 'var pausecontent = new Array("' . implode(',', $eventrow2) . '");';
    			echo 'alert(pausecontent[0]);';
    			echo '</script>';
    SI je fais pausecontent[0], ça marche, si je fais pausecontent[1], ça ne marche pas.

    si je regarde dans ce quil a été généré sur ma page j'ai:

    var pausecontent = new Array("Paris - IDF")

    il me manque la deuxieme ville "Rouen - Normandie".


    Jai tout retourné dans ma tête je vois pas pourquoi ça marche pas.

    SI quelqu'un peut m'aider, il soulagera mon week end


    Julien

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 25
    Points : 36
    Points
    36
    Par défaut
    il fallait ajouter une boule while pour récupérer les autres enregistrements de le requete...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    while( $aRes = mysql_fetch_row($result) ){
    	$eventrow2[] = $aRes[0];
    }
     
    echo '<script language="Javascript">'."\n";
    echo 'var pausecontent = new Array("' . implode('","', $eventrow2) . '");'."\n";
    echo 'alert(pausecontent[0]);'."\n";
    echo 'alert(pausecontent[1]);'."\n";
    echo 'alert(pausecontent[2]);'."\n";
    echo '</script>'."\n";
    n'oublie pas ! dans le parametre glue de "implode" il faut mettre un ' "," ' et pas ' , ';

    bonne chance

  3. #3
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Février 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 21
    Points : 31
    Points
    31
    Par défaut
    Petit rappel, mysql_query effectue la requête sql et renvoi le ressource_set ($result), qui contient tout les résultats dans un format que tu ne peux pas exploiter directement.
    Les fonctions mysql_fetch_* quant-à-elle sortent UNE (1) ligne de ce ressource set, pour te permette de l'utiliser.
    C'est pour ça que ton code ne marchais pas: tu sortais une seule ligne.

    Avec une boucle comme faites au dessus, tant que tu arrive à sortir une ligne tu l'ajoutes au tableau, quand il n'y en a plus le while s'arrête car la fonction renvoit false, ton tableau contient toutes les lignes.


    Pense à lire l'aide des fonctions que tu utilises sur le site de php

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 109
    Points : 68
    Points
    68
    Par défaut
    Ok merci beaucoup à vous deux. Le vendredi a du faire que j'ai du mal comprendre le fonctionnement de cette fonction.
    Je vais re-tester ça.

    Bonne semaine

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Test sur résultat d'une requête
    Par megachameau dans le forum Langage SQL
    Réponses: 5
    Dernier message: 20/04/2012, 11h56
  2. [Vxi3] Invite Dans Liste sur résultat d'une requète
    Par tpeluchon dans le forum Deski
    Réponses: 2
    Dernier message: 01/02/2010, 12h45
  3. [MySQL] Affichage des résultats d'une requête sur plusieurs pages
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/10/2006, 13h24
  4. [SQL] Afficher les résultats d'une requête sur plusieurs pages
    Par mealtone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/09/2006, 13h20

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