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 :

Sortir de 2 tableaux imbriqués


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 80
    Points
    80
    Par défaut Sortir de 2 tableaux imbriqués
    Bonjour,

    Dans une classe générant un select dans une table, après le mysql_query et le mysql_fetch_assoc, j'obtiens un tableau imbriquant deux autres tableaux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $sql = "SELECT $requete[0] FROM $requete[1]
    		$where
    		$order";
            $query = makeQuery($sql);
     
            while ($line = mysql_fetch_assoc($query)) {
                $result[] = $line;
            }
     
            print_r($result);
            return $result;
    Le print_r($result) donne donc ceci à l'écran :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Array ( [0] => Array ( [statutid] => 2 [statutstatut] => NOK ) [1] => Array ( [statutid] => 1 [statutstatut] => OK ) )
    J'aimerai que le return $result retourne un seul tableau et pas 2 tableaux imbriqués, ce qui ne m'obligerait pas à faire deux foreach dans mes applications pour atteindre les données.

    Quel code puis-je placer dans ma classe pour que le print_r($result) retourne qq chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Array ( [statutid] => 2 [statutstatut] => NOK ) Array ( [statutid] => 1 [statutstatut] => OK )
    Merci :-)

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Euh... a priori le seul moyen d'obtenir des tableaux séparés, c'est de les stocker dans des variables séparées. Autrement, je ne vois pas comment faire

  3. #3
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    Ce n'est pas possible. D'ailleurs dans ce que tu veux récupérer, ça ne représente que deux tableaux sans liens entre eux. Tu ne pourrais faire ça qu'avec deux variables.

    Mais ce que je ne comprend pas, c'est pourquoi tu dis que tu dois faire deux foreach pour accéder aux données... Un seul suffit ! :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach ($result as $line)
    {
        echo 'Id : '.$line['statutid'].'<br />';
        echo 'Statut : '.$line['statutstatut'].'<br />';
    }
    Edit : Grillé

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 80
    Points
    80
    Par défaut
    un truc du genre ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $total = count($result);
     
    for ($i = 0; $i < $total; $i++) {
    foreach ($result as $cle => $valeur) {
    $tabl[$i] = $valeur[$i];
    }
    }
    Le problème est : comment alors faire le return en sachant qu'en fonction de la requête sql, je pourrai aussi bien bien 1 $tabl comme je pourrai en avoir 10 :-)

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par Eusebe Voir le message
    Bonjour,

    Ce n'est pas possible. D'ailleurs dans ce que tu veux récupérer, ça ne représente que deux tableaux sans liens entre eux. Tu ne pourrais faire ça qu'avec deux variables.

    Mais ce que je ne comprend pas, c'est pourquoi tu dis que tu dois faire deux foreach pour accéder aux données... Un seul suffit ! :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach ($result as $line)
    {
        echo 'Id : '.$line['statutid'].'<br />';
        echo 'Statut : '.$line['statutstatut'].'<br />';
    }
    Edit : Grillé


    Je suis honteux ...

    Navré ...

    Effectivement ...

    bon, je vais m'acheter un fusil et une balle :-)

    merci ...

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

Discussions similaires

  1. OnClick avec Tableaux imbriqués
    Par bondak dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/08/2007, 20h19
  2. Tableaux imbriqués et instances
    Par sayag dans le forum Windows Forms
    Réponses: 5
    Dernier message: 25/06/2007, 17h15
  3. [Tableaux] Deux tableaux imbriqués
    Par djedje37et28 dans le forum Langage
    Réponses: 4
    Dernier message: 23/03/2007, 19h57
  4. [Tableaux] Besoin d'explications sur les tableaux imbriqués
    Par gateaubasque dans le forum Langage
    Réponses: 5
    Dernier message: 23/03/2007, 09h12
  5. [HTML]problème de tableaux imbriqués
    Par tyrann dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 24/03/2006, 15h29

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