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 :

Tri de tableau


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de l.laurent60
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 276
    Par défaut Tri de tableau
    Bonjour,

    J'ai une idée mais je ne trouve pas comme faire mon tri.

    1- Je récupère des valeurs Poster qui correspondent a la valeur de la clé referent du tableau ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $_POST["Q3"]=
    $_POST["Q1"]=
    $_POST["Q2"]=
    2- J'ai un tableau a plusieurs dimension 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
     
    Array
    (
        [0] => Array
            (
                [caption] => champ1
                [type] => text
                [fill] => 0
                [affichagebr] => 0
                [referent] => Q1
                [proposition] => Array
                    (
                        [value] => Array
                            (
                                [0] => 0
                            )
     
                        [nom] => Array
                            (
                                [0] => 
                            )
     
                    )
     
            )
     
        [1] => Array
            (
                [caption] => champ2
                [type] => text
                [fill] => 0
                [affichagebr] => 0
                [referent] => Q2
                [proposition] => Array
                    (
                        [value] => Array
                            (
                                [0] => 0
                            )
     
                        [nom] => Array
                            (
                                [0] => 
                            )
     
                    )
     
            )
    Je voudrais remettre le tableau dans un ordre ou faire un nouveau tableau construit dans l'ordre des clés poster Q3, Q1, Q2 tout en réaffectant le clé réfèrent q1, q2, q3 dans l'ordre chronologique.

    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
    Array
    (
        [0] => Array
            (
                [caption] => champ3
                [type] => text
                [fill] => 0
                [affichagebr] => 0
                [referent] => Q1
                [proposition] => Array
                    (
                        [value] => Array
                            (
                                [0] => 0
                            )
    
                        [nom] => Array
                            (
                                [0] => 
                            )
    
                    )
    
            )
    
        [1] => Array
            (
                [caption] => champ1
                [type] => text
                [fill] => 0
                [affichagebr] => 0
                [referent] => Q2
                [proposition] => Array
                    (
                        [value] => Array
                            (
                                [0] => 0
                            )
    
                        [nom] => Array
                            (
                                [0] => 
                            )
    
                    )
    
            )
    J'espère que vous me comprendrais et merci pour aide car je suis dans la chianli

  2. #2
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    tu demandes à ton visiteur de faire une liste ordonnée et tu veux trier des objets plus complexe en fonction de cet ordre?

    disons que je procèderais comme ça.

    1. récupération de l'ordre dans le formulaire (je ne suis pas sur que l'ordre des données postées via un formulaire soit fiable, à ta place j'utiliserai des priorités explicites) pour avoir un tableau de type $ordre = ( identifier1 => priority1 , indentifier2 => priority2, .... )
    2. un asort( $ordre )
    3. une fonction qui ajoute la prioritée dans le tableau à trier
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      foreach( $grostableau as $item )
      {
       $item[priorite] = $ordre[ item['referent'] ];
      }
    4. un ptit usort ( $grostableau , callback $cmp_function )
      avec comme $cmp_function une fonction qui compare la priorité des items du tableaux
    5. c'est tout

  3. #3
    Membre éclairé Avatar de l.laurent60
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 276
    Par défaut
    Avant tout merci d'avoir pris un peut de temps pour m'aider.

    • un ptit usort ( $grostableau , callback $cmp_function )
      avec comme $cmp_function une fonction qui compare la priorité des items du tableaux
    • c'est tout

    Merci pour ta réponse qui ma fais avancer mais je bloque sur le dernier point, j'ai mes 2 tableaux :

    $NewOrdre a la clé 0 correspond l'ordre (0) de trie du 2 éme tabl a la clé - 1
    a la clé 1 correspond l'ordre (1) de trie du 2 éme tabl a la clé - 1
    etc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Array
    (
        [0] => 3
        [1] => 2
        [2] => 1
    )
    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
    Array
    (
        [0] => Array
            (
                [caption] => champ1
                [type] => text
                [fill] => 0
                [affichagebr] => 0
                [referent] => Q1
                [proposition] => Array
                    (
                        [value] => Array
                            (
                                [0] => 0
                            )
    
                        [nom] => Array
                            (
                                [0] => 
                            )
    
                    )
    
            )
    
        [1] => Array
            ( 
    ....
    Mon problème est comment l'écrire ?

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

Discussions similaires

  1. [Tableaux] tri de tableau deux dimensions
    Par oursquetaire dans le forum Langage
    Réponses: 8
    Dernier message: 27/12/2005, 15h27
  2. Problème dans un tri de tableau
    Par pmboutteau dans le forum ASP
    Réponses: 5
    Dernier message: 29/11/2005, 14h12
  3. [Tableaux] tri de tableau
    Par rdams dans le forum Langage
    Réponses: 19
    Dernier message: 08/11/2005, 14h46
  4. [PERL] problème tri de tableau
    Par LE NEINDRE dans le forum Langage
    Réponses: 2
    Dernier message: 31/08/2005, 16h42
  5. [langage] tri dans tableau de hachage
    Par mimilou dans le forum Langage
    Réponses: 2
    Dernier message: 10/03/2004, 17h10

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