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 :

Comment créer plusieurs tableaux avec un seul ?


Sujet :

Langage PHP

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut Comment créer plusieurs tableaux avec un seul ?
    bonjour, j'ai 1 très grand tableau de qui contient qui est construit comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    for ($i = 0; $i < $entries["count"]; $i++) {
            $group2 = $entries[$i]["cn"][0];
            $result = get_members($group2);
     
            foreach ($result as $e) 
            {
                    $ligne[] = $e[0];
                    $ligne[][]=$e[1];
         }
        else {
        echo "<p>No results found!</p>";
        }
    }
    mon tableau est sous cette formme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [matiere1]=>"qdqm"
    [matiere1]=>"qdqfqsm"
    [matiere1]=>"qddsqfqm"
    [matiere1]=>"fd"
    [matiere1]=>"qdqsddqm"
    [matiere1]=>"qdqdfqm"
    [autre]=>"qdqdfqm"
    [autre]=>"qdqdfqm"
    [autre]=>"qdqdfqm"
    [autre]=>"qdqdfqm
    "[autre]=>"qdqdfqm"
    j'ai plus de 600 clés pour 17000 entrées

    je cherche à les décomposer et les scinder en groupe de clé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $tab1=arrray('matiere1',array("qdmq","jsljq","ljlj","ljl" ....)
    $tab2=arrray('autre',array("qdmq","jsljq","ljlj","ljl" ....)
    comment faut t'il s'y prendre ? il faut peut peut être charger le tableau autrement ?
    je vous remercie d'avance pour la réponse

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    t 'est sur la bonne voie, il faut faire une fonction récursive qui test et renvoi, soit un tableau soit une valeur... mais tu es au bonne endroit pour avoir des indices..

    http://www.php.net/manual/fr/langref.php

    et en lecture

    http://fr.php.net/manual/fr/class.iterator.php

    bon je ne comprends pas :

    Inscription : août 2008
    Messages : 442
    Points : 86

    explique nous comment faire ?

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut
    Merci de vos réponse,
    oui ça serai aussi une bonne idée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $matiere1=array("item1","item2","item3")
    $autre=array("item1","item2","item3")
    j'ai un si grand tableau car cela provient du LDAP, il y a tout les membres de l'univeristé.Mon but c'est d'extraire juste les cles et une fois récupférer ces 600 clés
    filtrer ce qu'il m'interresse il y en a que 2 ou 3( et si un jour on me demande les 600 groupes je n'aurai plus besoin de filtrer mais mon problème c'est que je en sas pas d'avance le nom des groupes il peuvent changer supprimer ou crée,quelque chose de dynamqiue), ensuite je crée un des table avec myql et ensuite je regarde ce qu' il y a dedans et chaque ligne je les transforme en requete sql

    [matiere1]=>"qdqm" //insert into matiere1 values qdm
    ......
    [autre]=>"qdqdfqm"//insert into autre value qdqdfqm


    si je décompose $result[0] j'obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Array ( [0] => UP-ANAT-CHIR [1] => fferrand [2] => FERRAND [3] => François-Xavier ) 
    Array ( [0] => UP-ANAT-CHIR [1] => toto [2] => titi[3] => dqfqf )
    [0] => UP-ANAT-CHIR il en a 600 comme ça mais les il y en 17000 lignes de ce type
    [1]=> il y en a 17000
    [2]=>pareille 17000

    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
     
    if ($entries["count"] > 0) {
        for ($i = 0; $i < $entries["count"]; $i++) 
           {
            $group2 = $entries[$i]["cn"][0];
            $result = get_members($group2);
     
            print_r($result[0]);
     
     
     
            }
     
     
        }
    } else {
        echo "<p>No results found!</p>";
    }
    ou sinon j'avais penser de faire à la volé mais cela ne fonctionne pas

    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
     
    foreach($result as $R)
    {
     
        on regarde si la table UP-ANAT-CHIR existe ;
        si elle existe pas on crée la table UP-ANAT-CHIR;
        on crée la requete sql INSERT INTO  UP-ANAT-CHIR; 
        on regarde si la table UP-ANAT-CHIR existe ;
        on passe à la deuxième ligne;
        on crée la requete2 sql INSERT INTO  UP-ANAT-CHIR;
     
        ..../////
        on regarde si la table AUTRE existe ;
        si elle existe pas on crée la table AUTRE
        on crée la requeten sql INSERT INTO  AUTRE
        on passe à la deuxième ligne;
        si elle existe pas on crée la table AUTRE
        on crée la requeten+1 sql INSERT INTO  UP-ANAT-CHIR;
     
     
    }
    merci du lien je vais regarder ça

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut
    j'ai finalement réussi a récup toute les cles

    par contre je n'arrive pas récupérer ce qu'il y a dans chaque goupre de cle
    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
     
     if ($entries["count"] > 0) {
     
        for ($i = 0; $i < $entries["count"]; $i++) {
            $nom_cohorte = $entries[$i]["cn"][0];
            $result = get_members($nom_cohorte);
     
     
            echo "<h3>nom cohorte : " . $nom_cohorte . "</h3>";
     
     
            if (     
                $nom_cohorte == "UP-ANAT-CHIR"   
     
                    ) {
                $requete->insertCohorte($nom_cohorte);
                echo "<br/>";
     
                foreach ($result as $R) {
                    foreach ($R as $user_membre) {
                           foreach($user_membre as $M)
                           {
                               echo $M;
                               echo "<br/>";
                           }
     
                    }
                }
            }
    c'est bon j'ai résolut mon prob il fallait juste appeller $user_membre

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

Discussions similaires

  1. [GD] Créer plusieurs images avec un seul fichier PHP
    Par remus69 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 10/04/2012, 12h29
  2. Comment créer une listBox avec plusieurs colonnes ?
    Par volcom_2222 dans le forum VB.NET
    Réponses: 6
    Dernier message: 27/02/2010, 11h44
  3. Réponses: 1
    Dernier message: 16/03/2007, 17h30
  4. [CR XI] comment compiler plusieurs rapports en un seul (avec sommaire) ?
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 14/02/2007, 09h19

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