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 :

Affichage de données d'un tableau


Sujet :

Langage PHP

Vue hybride

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 14
    Par défaut Affichage de données d'un tableau
    Bonjour,

    Je souhaiterais afficher les données d'un tableau. Il s'agit en fait des prestations d'un hébergement qui se décompose en plusieurs catégories (activités, conforts, équipements, etc.)
    Je n'arrive pas à afficher les données comprises dans chacune de ces catégories.

    Voici à quoi ressemble mon tableau :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
     
     ["OffresPrestations"]=>
              array(1) {
                ["DetailOffrePrestation"]=>
                array(3) {
                  [0]=>
                  array(3) {
                    ["Type"]=>
                    string(5) "15.02"
                    ["Libelle"]=>
                    string(9) "Activités"
                    ["Prestations"]=>
                    array(1) {
                      ["DetailPrestation"]=>
                      array(2) {
                        [0]=>
                        array(2) {
                          ["Type"]=>
                          string(8) "15.02.39"
                          ["Libelle"]=>
                          string(18) "Randonnée pédestre"
                        }
                        [1]=>
                        array(2) {
                          ["Type"]=>
                          string(8) "15.02.58"
                          ["Libelle"]=>
                          string(6) "Tennis"
                        }
                      }
                    }
                  }
                  [1]=>
                  array(3) {
                    ["Type"]=>
                    string(5) "15.05"
                    ["Libelle"]=>
                    string(11) "Equipements"
                    ["Prestations"]=>
                    array(1) {
                      ["DetailPrestation"]=>
                      array(4) {
                        [0]=>
                        array(2) {
                          ["Type"]=>
                          string(9) "15.05.123"
                          ["Libelle"]=>
                          string(8) "Terrasse"
                        }
                        [1]=>
                        array(2) {
                          ["Type"]=>
                          string(8) "15.05.48"
                          ["Libelle"]=>
                          string(6) "Jardin"
                        }
                        [2]=>
                        array(2) {
                          ["Type"]=>
                          string(8) "15.05.49"
                          ["Libelle"]=>
                          string(13) "Jardin commun"
                        }
                        [3]=>
                        array(2) {
                          ["Type"]=>
                          string(8) "15.05.43"
                          ["Libelle"]=>
                          string(23) "Habitation indépendante"
                        }
                      }
                    }
                  }
                  [2]=>
                  array(3) {
                    ["Type"]=>
                    string(5) "15.06"
                    ["Libelle"]=>
                    string(8) "Services"
                    ["Prestations"]=>
                    array(1) {
                      ["DetailPrestation"]=>
                      array(2) {
                        [0]=>
                        array(2) {
                          ["Type"]=>
                          string(8) "15.06.26"
                          ["Libelle"]=>
                          string(9) "Commerces"
                        }
                        [1]=>
                        array(2) {
                          ["Type"]=>
                          string(8) "15.06.05"
                          ["Libelle"]=>
                          string(16) "Animaux acceptés"
                        }
                      }
                    }
                  }
                }
              }
    Et voici le code que j'utilise pour tenter d'afficher les prestations :
    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
     
    // on définit les prestations
    $prestations_objet = $objet_sitra[OffresPrestations];
     
    // on affiche les prestations
    foreach($prestations_objet[DetailOffrePrestation] as $presta)
    {
       // on affiche les activités
       if($presta[Type] == '15.02')
       {
          echo "Activités : ";
          foreach($prestations_objet[DetailOffrePrestation][Prestations] as $presta2)
          {							
             echo $presta2[DetailPrestation][Libelle]." - ";
          }
       // on affiche les équipements
       if($presta[Type] == '15.05')
       {
          echo "Equipements : ";
          foreach($prestations_objet[DetailOffrePrestation][Prestations] as $presta2)
          {							
             echo $presta2[DetailPrestation][Libelle]." - ";
          }
       etc.
    }
    Le titre des catégories apparaît bien mais pas le nom des prestations. Peut-on faire des "foreach" imbriqués ? Quel est le problème ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je ne vois pas pourquoi tu t'embetes avec les code de prestation etant donné que les libellé sont fournis dans le tableau.
    De toute facon quand on a du code qui se repete, ca ne va pas.

    On peut imbriquer les foreach mais il ne faut pas se tromber dans les boucles.

    Au passage les index prennent des guillemets quand ils ne sont pas numeriques.

    Si je ne me suis pas trompé dans les niveaux, ca devrait marcher comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    // on définit les prestations
    $prestations_objet = $objet_sitra['OffresPrestations'];
     
    // on affiche les prestations
    foreach($prestations_objet['DetailOffrePrestation'] as $presta)
    {
       // on affiche les activités
       echo $presta['Libelle'];
          foreach($presta['Prestations'] as $presta2)
          {							
             echo $presta2['DetailPrestation']'[Libelle']." - ";
          }
      }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 14
    Par défaut
    Concernant les codes des prestations, j'ai fais cela car il y a certaines prestations que je ne veux pas afficher.

    Par rapport à ta réponse, j'obtiens malheureusement le même résultat que le mien. En effet, le nom des catégories est bien affiché (Activités, Equipements, Services, etc.) mais leurs valeurs ne le sont pas (Randonnée pédestre, Tennis, etc.)

    Je bloque un peu là car je ne vois pas d'où l'erreur peut venir. Sous tes conseils, j'ai bien ajouté les ''.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Et voila :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // on définit les prestations
    $prestations_objet = $objet_sitra['OffresPrestations'];
     
    // on affiche les prestations
    foreach($prestations_objet['DetailOffrePrestation'] as $presta)
    {
       // on affiche les activités
       echo $presta['Libelle'];
          foreach($presta['Prestations']['DetailPrestation'] as $presta2)
          {							
             echo $presta2['Libelle']." - ";
          }
      }
    Sinon pour les libellés, ajoute un champ indiquant si tu dois l'afficher ou non ; ou au pire fais une liste de ceux que tu ne veux pas et regarde si l'element parcouru est dedans ou non.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 14
    Par défaut
    Ca marche !
    Merci beaucoup pour ton aide sabotage !

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 14
    Par défaut
    Je reviens sur ce sujet car j'ai un petit souci d'affichage.
    En effet il semble que lorsque je n'ai qu'un seul résultat dans ma prestation, les données ne s'affichent pas correctement.

    En effet, pour un tableau de ce type :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
    - <OffresPrestations>
    - <DetailOffrePrestation>
      <Type>15.02</Type> 
      <Libelle>Activités</Libelle> 
    - <Prestations>
    - <DetailPrestation>
      <Type>15.02.39</Type> 
      <Libelle>Randonnée pédestre</Libelle> 
      </DetailPrestation>
      </Prestations>
      </DetailOffrePrestation>
    - <DetailOffrePrestation>
      <Type>15.03</Type> 
      <Libelle>Conforts</Libelle> 
    - <Prestations>
    - <DetailPrestation>
      <Type>15.03.46</Type> 
      <Libelle>Chaise bébé</Libelle> 
      </DetailPrestation>
    - <DetailPrestation>
      <Type>15.03.31</Type> 
      <Libelle>Lit bébé</Libelle> 
      </DetailPrestation>
    - <DetailPrestation>
      <Type>15.03.16</Type> 
      <Libelle>Congélateur</Libelle> 
      </DetailPrestation>
    - <DetailPrestation>
      <Type>15.03.28</Type> 
      <Libelle>Lave linge privatif</Libelle> 
      </DetailPrestation>
    - <DetailPrestation>
      <Type>15.03.29</Type> 
      <Libelle>Lave vaisselle</Libelle> 
      </DetailPrestation>
    - <DetailPrestation>
      <Type>15.03.85</Type> 
      <Libelle>Micro-onde</Libelle> 
      </DetailPrestation>
    - <DetailPrestation>
      <Type>15.03.11</Type> 
      <Libelle>Cheminée</Libelle> 
      </DetailPrestation>
    - <DetailPrestation>
      <Type>15.03.56</Type> 
      <Libelle>Télévision</Libelle> 
      </DetailPrestation>
      </Prestations>
      </DetailOffrePrestation>
    - <DetailOffrePrestation>
      <Type>15.05</Type> 
      <Libelle>Equipements</Libelle> 
    - <Prestations>
    - <DetailPrestation>
      <Type>15.05.14</Type> 
      <Libelle>Barbecue</Libelle> 
      </DetailPrestation>
    - <DetailPrestation>
      <Type>15.05.118</Type> 
      <Libelle>Terrain clos</Libelle> 
      </DetailPrestation>
    - <DetailPrestation>
      <Type>15.05.123</Type> 
      <Libelle>Terrasse</Libelle> 
      </DetailPrestation>
    - <DetailPrestation>
      <Type>15.05.106</Type> 
      <Libelle>Salon de jardin</Libelle> 
      </DetailPrestation>
      </Prestations>
      </DetailOffrePrestation>
    - <DetailOffrePrestation>
      <Type>15.06</Type> 
      <Libelle>Services</Libelle> 
    - <Prestations>
    - <DetailPrestation>
      <Type>15.06.26</Type> 
      <Libelle>Commerces</Libelle> 
      </DetailPrestation>
      </Prestations>
      </DetailOffrePrestation>
      </OffresPrestations>
    J'obtiens l'affichage suivant sur mon site :

    Activités
    1
    R

    Conforts
    Chaise bébé
    Lit bébé
    Congélateur
    Lave linge privatif
    Lave vaisselle
    Micro-onde
    Cheminée
    Télévision

    Equipements
    Barbecue
    Terrain clos
    Terrasse
    Salon de jardin

    Services
    1
    C


    J'ai donc un souci d'affichage pour les activités et les services ou je n'ai qu'un enregistrement...

Discussions similaires

  1. affichage des données dans un tableau visible
    Par neoboy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/09/2007, 13h16
  2. Affichage de données dans un tableau
    Par Claire07 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 23/03/2007, 15h48
  3. [Tableaux] affichage des données dans un tableau
    Par bilane dans le forum Langage
    Réponses: 1
    Dernier message: 21/03/2007, 18h31
  4. Réponses: 6
    Dernier message: 17/07/2006, 16h07
  5. Réponses: 3
    Dernier message: 11/01/2006, 18h44

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