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 :

Question simple sur les tableaux pour un initié


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Question simple sur les tableaux pour un initié
    Bonjour,

    Je voudrais remplacer dans un script
    $liste =array("toto","tata","titi); par des données d'une base de données (toutes les villes de ma base)

    J'arrive avec un while à parcourir le tableau de ma base et à lire chaque villes une à une, mais pour les mettre toutes dnas ma variable $liste je n'y arrive pas.
    Comment faire svp ?

    D'avance merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    //Exemple avec une base mySQL
    while($row = mysql_fetch_object($result))
    {
          //Exemple avec un compteur (permet de placer les éléments dans des indices choisis par exemple)
          $liste[i] = $row->maVille;
          $i++;
     
          //Exemple sans compteur (compteur implicite)
          $liste[] = $row->maVille;
    }
    J'espère que c'etait bien la question
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  3. #3
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut non
    Bien merci

    mais lorsque je fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while($row = mysql_fetch_object($result))
    {
    # indices choisis par exemple)
          $liste[i] = $row->communes;
          $i++;  
    }
    et un echo de $liste[i] il me sort pas l'equivalent à $liste =array("toto","tata","titi").

    Il me sort rien

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Quand tu parcours tes champs avec cette méthode tu les renseignes.

    Ensuite pour les lister tu peux faire par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for($i = 0 ; $i < count($liste) ; $i++)
    {
        echo $liste[$i];
    }
    Je ne saisis pas vraiment ton problème en fait
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  5. #5
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut suite
    oui j'ai donc fait comme ça :

    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 communes  FROM communes ORDER BY communes;";
    $req = mysql_db_query($cfgBase, $sql);
    $mon_tableau = array();	
     
     
    while($row = mysql_fetch_object($req))
    {
       $liste[i] = $row->communes;
       $i++;
    }
    for($i = 0 ; $i < count($liste) ; $i++)
    {
        echo $liste[$i];
    }
    J'ai rien qui s'affiche.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Oups évidemment une petite erreur dans mon code initiale qui s'est prolongée depuis :

    $liste[$i] bien entendu à la place de $liste[i] dans le renseignement du tableau.
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Quelques remarques :
    1. $i n'est pas initialisée
    2. l'utilisation de la variable $i n'est pas nécessaire :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      $sql="select communes  FROM communes ORDER BY communes;";
      $req = mysql_db_query($cfgBase, $sql);
      $mon_tableau = array();	
       
       
      while($row = mysql_fetch_object($req))
      {
         $liste[] = $row->communes;
      }
      for($i = 0 ; $i < count($liste) ; $i++)
      {
          echo $liste[$i];
      }
      L'affectation suivante :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      $liste[] = $row->communes;
      fait déjà ce travail puisque la valeur est ajoutée à la fin du tableau (et l'index sera numérique ici).

  8. #8
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut suite
    Oups pour moi aussi j'avais vu l'erreur mais un peu pard !!! merci

    En fait je suis arrivé à mettre mon tableau dans une variable, avec un while, mais ma liste déroulante ne s'affiche pas.

    Je viens de suivre pas à pas le tutorial ajax sur l'autocomplétion d'une liste déroulante.
    Le probleme dans le tutorial est que te tableau est sous cette forme :

    $liste = array ("abeille","abrico","acheter" etc ...

    et moi j'ai voulu le reprendre en mettent dans la variable $liste la liste des communes qui se trouve dans ma BDD.
    Grace a mon while j'arrive bien a afficher le fichier xml , propore avec les communes, mais lorsque je lance la page autocomplete-3-3.html, j'ai qu'un simple champ texte sans liste déroulante avec autocompétion qui s'affiche.

    J'espere avoir ete assé clair

    PS: J'envoi en fichier joint mon code pour mieux faire comprendre

    D'avance merci
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/10/2014, 20h46
  2. Question basique sur les tableaux
    Par valanagrid dans le forum C++
    Réponses: 8
    Dernier message: 08/11/2006, 15h47
  3. Réponses: 5
    Dernier message: 21/07/2006, 08h25
  4. question simple sur les select dynamiques
    Par grinder59 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 24/01/2006, 15h53
  5. Question simple sur les threads :)
    Par momox dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/06/2003, 04h13

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