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 :

Fonction d'extraction du contenu d'un tableau associatif [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut Fonction d'extraction du contenu d'un tableau associatif
    Salam ; j'ai un résultat de requête que je fait passé par une variable de session dans une autre page sa fonctionne correctement.
    le var_dump de la variable $graf_wil_age donne ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    array
      0 => 
        array
          't5' => string '643' (length=3)
          't10' => string '367' (length=3)
          't20' => string '383' (length=3)
          't30' => string '337' (length=3)
          't40' => string '336' (length=3)
          't50' => string '289' (length=3)
          't60' => string '200' (length=3)
          't100' => string '300' (length=3)
    pour récupéré les données j'ai procédé comme suite:
    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
     
    <?php
    session_start();
     
    $graf_wil_age=$_SESSION['graf_wil_age']; // affectation du contenu
    var_dump($graf_wil_age); // vérification du contenu de la nouvelle variable
     
    function extract_tableau($tableau) 
        {
        // lecture des éléments du tableau
    		foreach ($tableau as $cle=>$valeur) 
    			{
    			$tage=array();  // definir une variable pour contenir les titres des colonnes
    			$tage=array('0-04','05-09','10-19','20-29','30-39','40-49','50-59','60 et+'); // initialiser le tableau
     
    			$nbtage=array(); // definir une variable pour contenir la valeur correspondante au colonne
     
    			// si l'un des éléments est lui même un tableau
    			// alors on applique la fonction à ce tableau
    				if(is_array($valeur)) 
    					{
    					extract_tableau($valeur); 
    					}
     
    				// si ce n'est pas un tableau
    				// alors on extracte le contenu de l'élément
    				else
    					{
    					$tage=$cle;	
    					echo $tage;
    					}
     
    			} 
     
        }  
    ?>
    cette fonction m'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    t5t10t20t30t40t50t60t100 
    // résultat souhaité
    $tage=(t5,t10,t20,t30,t40,t50,t60,t100 )

  2. #2
    Membre confirmé
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Points : 498
    Points
    498
    Par défaut
    Salut,

    Un simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '('.implode(',', $graf_wil_age).')';
    ne te va pas ?

  3. #3
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    Re ; le résultat de la requête est de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    array
      0 => 
        array
          't5' => string '643' (length=3)
          't10' => string '367' (length=3)
          't20' => string '383' (length=3)
          't30' => string '337' (length=3)
          't40' => string '336' (length=3)
          't50' => string '289' (length=3)
          't60' => string '200' (length=3)
          't100' => string '300' (length=3)
    le premier élement est un tableau contenant :
    de t5,t10,...a t100 : nom de colonne
    643...........a 300: c'est les valeurs correspondantes.
    problématique:
    je cherche a récupéré les noms des colonnes dans $tage et les valeurs dans la $nbtage.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $tage=(t5,t10,t20,t30,t40,t50,t60,t100)
    $nbtage=(643,367,383,337,336,289,200,300)
    avec implode y' a message d'erreur :
    Warning: implode() [function.implode]: Invalid arguments passed in C.........

  4. #4
    Membre confirmé
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Points : 498
    Points
    498
    Par défaut
    Dans ce cas, s'il s'agit de ton seul élement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $table_key = $table_value = array();
    foreach($graf_wil_age[0] as $key => $value){
    $table_key[]= $key;
    $table_value[] = $value;
    }
    echo '('.implode(',', $table_key).')<br />';
    echo '('.implode(',', $table_value).')';

  5. #5
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    merci nowwis

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

Discussions similaires

  1. [XL-2013] Mise en forme de cellules en fonction de leur valeur (contenu dans un tableau )
    Par pedro2792 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/01/2014, 14h03
  2. [JNA] Appeler une fonction modifiant le contenu d'un tableau
    Par Caduchon dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 01/08/2012, 15h11
  3. [MySQL] Modifier le contenu d'un tableau associatif
    Par christophesav dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 02/04/2010, 16h50
  4. Réponses: 1
    Dernier message: 28/03/2008, 21h37
  5. Envoie contenu d'un tableau à une fonction
    Par aikinhdo dans le forum Langage
    Réponses: 2
    Dernier message: 23/04/2007, 15h14

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