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

PHP & Base de données Discussion :

Sort sur un multi-array


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 82
    Par défaut Sort sur un multi-array
    Bonjour à tous,

    J'ai actuellement un tableau mis dans la variable $ObjetsLies qui est de la 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
    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
     
    Array ( 
    	[0] => Array ( 
    			[id] => 1 
    			[titre] => titre 1
    			[texte] => texte 1 
    			[JointuresObjetLie] => Array ( 
    						        [0] => Array ( 
    									[id] => 1 
    									[nom_table_liee] => t_texte 
    									[package] => package 1
    								      ) 
    													 ) 
    					 ) 
    	[1] => Array ( 
    			[id] => 2 
    			[titre] => titre 2 
    			[texte] => texte 2 
    			[JointuresObjetLie] => Array ( 
    							[0] => Array ( 
    									[id] => 2 
    									[nom_table_liee] => t_texte 
    									[package] => package 1
    								      ) 
    													 ) 
    					)
    	[2] => Array ( 
    			[id] => 3 
    			[titre] => titre 3 
    			[texte] => texte 3 
    			[JointuresObjetLie] => Array ( 
    							[0] => Array ( 
    								        [id] => 10 
    									[nom_table_liee] => t_texte 
    									[package] => 
    							    ) 
    													 ) 
    					)
    	[3] => Array ( 
    			[id] => 4 
    			[titre] => titre 4 
    			[texte] => texte 4 
    			[JointuresObjetLie] => Array ( 
    							[0] => Array ( 
    									[id] => 12
    								        [nom_table_liee] => t_lien 
    									[package] => package 1
    							    ) 
    													 ) 
    					)
    	[4] => Array ( 
    			[id] => 5 
    			[titre] => titre 5 
    			[texte] => texte 5 
    			[JointuresObjetLie] => Array ( 
    							[0] => Array ( 
    									[id] => 22 
    									[nom_table_liee] => t_lien 
    									[package] => 
    							    ) 
    													 ) 
    					)
    	 )
    Cet objet a été crée à partir de trois tableaux différent (issus d'une requète SQL) et de la fonction array_merge_recursive() de php.

    Je souhaite pouvoir afficher les resultats par package puis après par type (texte, lien). Pour cela,il faudrait, je pense, que j'arrive à ordonner mon multiple-array par package et après faire des cassures du style:
    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
    <?php
    foreach ($ObjetsLies as $ObjetLie)
    {
    	if ($package != $ObjetLie['JointuresObjetLie'][0]['package'])
    	{
    		$package = $ObjetLie['JointuresObjetLie'][0]['package'];
     
    		if (empty($package))
    		{
    			$package_affiche = 'Autres/Divers';
    		}
    		else
    		{
    			$package_affiche = $package;
    		}
     
    		echo '<dt><strong><h2>'.$package_affiche.'</h2></strong></dt>';
     
    		$type = $ObjetLie['JointuresObjetLie'][0]['nom_table_liee'];
    		if($type == 't_texte')
    		{
    			$titre_type = 'Textes';
    		}
    		else if ($type == 't_fichiers')
    		{
    			$titre_type = 'Fichiers';
    		}
    		else if ($type = 't_liens')
    		{
    			$titre_type = 'Liens';
    		}
     
    		echo "<dd><em><h3>".$titre_type."</dd></em></h3>";
    	}
     
    	if ($type != $ObjetLie['JointuresObjetLie'][0]['nom_table_liee'])
    	{
    		$type = $ObjetLie['JointuresObjetLie'][0]['nom_table_liee'];
     
    		if($type == 't_texte')
    		{
    			$titre_type = 'Textes';
    		}
    		else if ($type == 't_fichiers')
    		{
    			$titre_type = 'Fichiers';
    		}
    		else if ($type = 't_liens')
    		{
    			$titre_type = 'Liens';
    		}
     
    		echo "<dd><em><h3>".$titre_type."</dd></em></h3>";
    	}
    }
    Cependant je ne sait pas comment faire pour ordonner mon tableau.

    Merci de votre aide.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 22
    Par défaut
    Bonjour,

    array_multisort(); sera ton ami sur ce coup là.
    http://php.net/manual/en/function.array-multisort.php

    A savoir tout de même que la fonction ne conserve que les clés associatives !

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 27
    Par défaut
    Bonjour,

    Je crois bien que j'aurais employé une boucle pour créer plusieurs requêtes (pour simplifier ) pour afficher les résultats ensuite.

    Bonne journée

Discussions similaires

  1. [DeskI V5-V6] Page blanche sur tableau multi pages
    Par alsips dans le forum Débuter
    Réponses: 1
    Dernier message: 25/07/2006, 15h12
  2. [XPATH] Erreur XPath sur du multi-thread
    Par pvoncken dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 08/02/2006, 15h19
  3. [XSLT]Sort sur un attribut dont la valeur est en param
    Par Trin dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 07/11/2005, 16h16
  4. Sort sur un élément distinct
    Par Martin lalande dans le forum Langage
    Réponses: 1
    Dernier message: 19/09/2005, 19h05
  5. std::sort() sur std::vector()
    Par tut dans le forum SL & STL
    Réponses: 20
    Dernier message: 05/01/2005, 19h15

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