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] Equivalent asort() mais sur plusieurs clés (recursif)


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Par défaut [Tableaux] Equivalent asort() mais sur plusieurs clés (recursif)
    Salut a tous !

    Voici mon probleme :

    J'ai un tableau, résultat d'une requete, qui a cette forme :

    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
     
    $aPhp_ResultSqlFinal: Array
    (
        [GROUP_NAME] => Array
               (
                [0] => machin
                [1] => truc
                [2] => truc
                [3] => truc
                [4] => truc
                [5] => truc
                [6] => truc
              )
     
        [PERSON_NAME] => Array
            (
                [0] => Dupont
                [1] => Durant
                [2] => Simone
                [3] => Martin
                [4] => Marchal
                [5] => Pascal
                [6] => Dupont
            )
    Ce tableau peut avoir un nombre de colonnes variable.

    J'aimerais trier TOUTES les entrées de ce tableau ...

    Mais attention, toutes les entrées de mon tableau doivent toujours correspondre ...
    Par exemple, avec le tableau ci dessus, "Dupont" correspond au groupe "machin", "Durant" correspond au groupe "truc" ...

    C pour cela que si je trie la 1ere colonne par exemple, il va falloir reclasser toutes les autres en fonction ...

    Pour l'instant, j'ai un algo de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Trier la 1ere colonne en gardant les clés (asort) 
      $intLigne=0;
      Pour I de 0 a NbLignes
         Pour J de 1 a NbColonnes
           $aPhp_ResultSqlFinalTri[J][$intLigne]=$aPhp_ResultSqlFinalTri[J][I]
        Fin Pour
      Fin Pour
    Fin
    Le soucis, c que je voudrais faire ca sur N colonnes ... mais une fois que j'ai trié la 1ere, si je veux trier la 2ieme, il va falloir aussi que je reclasse la 1ere en fonction de la 2ieme ... donc elle ne sera plus triée ... (je sais pas si je suis bien clair ... )


    Auriez vous des idées ??

    Merci bien !

    @+.


  2. #2
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    oui, j'ai une idée :

    en PHP c'est horrible a faire alors qu'un petit ORDER BY dans la requete résoud le probleme... donc plutot modifier la requete ;o)

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Par défaut


    oui, evidemment !

    seulement la, non, c pas si simple !

    Je m'explique :

    j'ai plusieurs bases, et je vais rechercher les groupes et les utilisateurs sur ces bases.

    Par exemple, je selectionne 3 bases, et je veux recuperer les groupes et les utilisateurs de ces 3 bases ...

    Je suis donc obliglé de faire 3 requetes, et de concaneter les tableaux resultats pour au final avoir un tableau pour les 3 bases.
    Et si par exemple je veux savoir combien j'ai de Dupont sur les 3 bases, il va falloir que je fasse le regroupement moi meme ...

    Est ce que tu me suis ?

  4. #4
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Et tu ne peux pas utiliser les join sql pour tout recuperer d'un coup? et en sql tu peux egalement préciser la base que tu utilise dans ta requete.

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Par défaut
    Je ne sais pas s'il est possible que j'ai une vue d'ensembe de mes bases dans mon scripts ...

    Et puis ca casserait tout un aglo, la c'est un cas particulier ...

    Normallement, je boucle sur les bases selectionnées, et je fais une requete par base.
    Ensuite, dans un tableau HTML, j'affiche mes infos par base.

    Mais j'ai une option qui permet de retirer la colonne "Base", et c la que je doit faire mon regroupement ...

  6. #6
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    Regarde cette fonction a tout hasard :
    http://fr3.php.net/manual/fr/functio...-multisort.php

    En principe ca correspond a ce que tu veux... si t'arrive a la faire marcher, moi j'ai toujours eu du mal, mais p'tet que j'en ai jamais réellement eu besoin ;o)

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Par défaut
    Diantre ! Ca m'a l'air d'etre la fonction miracle que j'attendais !

    j'etais quasiment persuadé qu'il n'en existait pas ... donc je m'arrachais avec des asort() ...

    Ya pas a dire, PHP pour les tableaux c de la bombe !

    Je vais voir si j'arrive a m'en servir !

    Merci en tout cas !

  8. #8
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Par défaut
    C bon, j'ai reussi a m'en servir, et aussi a rendre variable le nombre de colonne que je lui passe ! C tout bien !

    Merci !

    @+.

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

Discussions similaires

  1. [USB] Copier un dossier sur plusieurs clés USB
    Par jontleman dans le forum Composants
    Réponses: 17
    Dernier message: 23/06/2019, 20h07
  2. [Tableaux] Afficher un tableau sur plusieurs colonnes
    Par sliderman dans le forum Langage
    Réponses: 5
    Dernier message: 04/01/2008, 15h46
  3. Réponses: 2
    Dernier message: 15/05/2007, 16h56
  4. Réponses: 2
    Dernier message: 17/02/2007, 12h34
  5. Réponses: 1
    Dernier message: 14/06/2006, 11h11

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