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

Langage PHP Discussion :

[Tableaux] Tableau Multidimensionnel


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 27
    Par défaut [Tableaux] Tableau Multidimensionnel
    Bonsoir à tous,

    Mon soucis est que je voudrais mettre dans un tableau le résultat d'une requête sur une table.

    Voici ma fonction :
    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
     
    function get_Utilisateurs()
     
    {
      include("include/connexion.inc.php");
     
      $str = "SELECT * FROM TBL_Utilisateurs";
     
      $enreg = mysql_query($str, $MYSQL) or die ('ERREUR : ' .mysql_error() . mysql_errno() );
      while ($result=mysql_fetch_object($enreg))
      {
          $tab_Utilisateurs = array(array ("id"=>$enreg->id, "nom" =>$enreg->Nom));
      }
         return $tab_Utilisateurs;
    }
    et mon appel de la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       $tab = get_Utilisateurs();
    En faisant un print_r(), je voudrais obtenir ceci:
    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
     
    Array
    (
        [0] => Array
          (
              [id] => 1
              [nom] => "test"
          )
        [1] => Array
          (
              [id] => 2
              [nom] => "test2"
          )
        [3] => Array
          (
              [id] => 3
              [nom] => "test3"
          )
      ...
    )
    mais je n'obtiens que
    Array (
    [0] => Array ([id]=>3 [nom] =>test3 )
    )
    qui correspond au dernier enregistrement de la table!

    Avez-vous une idée? Dites-le si je ne suis pas très clair... je tâcherai de mieux expliquer le problème!

    Merci à vous;

  2. #2
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    Salut,

    pour faire cela tu ne devrais pas utiliser mysql_fetch_objet, mysl_fetch_array car c'est bien un tableau que tu veux et non objet, deplus en utilisant la constante MYSL_ASSOC tu élimines les index basé sur les index numériques, qui sont totalement inutiles ici.

    Enfin plusieurs possibilité se posent pour réaliser la mulitdimension, siot tu fais array_push, soit tu fais $tab_Utilisateurs[] = $result; tu peux encore incrémenter à la mano un index(solution totalement veine d'interets).

    Petite remarque tout de même, si tu le peux (faut voir la syntaxe ect) renvoie tes tableaux sous formes de référence et non par copie de valeur car la copie de valeur et quelque chose de TRES TRES mauvais pour les performance d'une appli.

    Bye

    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
     
    function get_Utilisateurs() 
     
    { 
      include("include/connexion.inc.php"); 
     
      $str = "SELECT * FROM TBL_Utilisateurs"; 
     
      $enreg = mysql_query($str, $MYSQL) or die ('ERREUR : ' .mysql_error() . mysql_errno() ); 
    $tab_Utilisateurs = array();
      while ($result=mysql_fetch_array($enreg , MYSQL_ASSOC)) 
      { 
    array_push($tab_Utilisateurs , $result);
      } 
         return $tab_Utilisateurs; 
    }

  3. #3
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 27
    Par défaut
    Merci ePoX de ta réponse..
    Tout marche niquel, et j'obtiens bien le tableau tant attendu..
    c'est vrai que je me suis attaché à mysql_fecth_object sans penser à mysql_fetch_array !!

    encore merci !!

    (comme je suis nouveau, comment puis-je mettre le tag [Résolu] devant mon sujet?)

  4. #4
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    Je pense que si tu edites ton message tu dois voir un bouton résolu en bas a gauche de la page ! Vérifies son emplacement, mais il ne doit pas etre loin

    bye

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

Discussions similaires

  1. [Tableaux] tableau multidimensionnel
    Par Biosox dans le forum Langage
    Réponses: 3
    Dernier message: 15/03/2007, 17h41
  2. [Tableaux] Tableau multidimensionnel associatif
    Par Anne1969 dans le forum Langage
    Réponses: 12
    Dernier message: 20/02/2007, 14h51
  3. [Tableaux] trie d'un tableau multidimensionnel
    Par dede64 dans le forum Langage
    Réponses: 1
    Dernier message: 02/11/2006, 11h20
  4. Réponses: 2
    Dernier message: 08/12/2005, 14h41
  5. Réponses: 2
    Dernier message: 27/11/2005, 23h36

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