PHPFrance

Discuter de tout ce qui touche au PHP, en français.

Vers le contenu

» Masquer les résultats de la recherche

Recherche dynamique PHPfrance

  1. Effectuez une recherche, les résultats s'afficheront dynamiquement ici.

trie sur tableau a plusieurs colonne

Pour ceux qui débutent en PHP.

trie sur tableau a plusieurs colonne

Messagede Invité le 05 Fév 2010, 17:38

Bonjour,

je fais un tableau de cette manière :
Syntaxe: [ Télécharger ] [ Masquer ]
Code php
$tab[$i] = array(
'mat'=>$ree[0],
'dat'=>$ree[1],
'charg'=>$ree[2],
'com'=>$ree[3], );
}


je souhaite faire un trie, mais lorsque je fais :

Syntaxe: [ Télécharger ] [ Masquer ]
Code php
array_multisort(charg, SORT_ASC,  com, SORT_ASC);


rien ne change ?

Y a t il un autre moyen ?

merci
Invité
 

Publicité

Re: trie sur tableau a plusieurs colonne

Messagede niuxe le 06 Fév 2010, 09:02

Hello,

Avec si peu de données, pas facile de t'aider. Cependant, je pense savoir pourquoi tu n'as pas le résultat attendu.

<mode hypothese="on">
Simple erreur de logique et de syntaxe... Je crois que tu veux dire ceci :
Syntaxe: [ Télécharger ] [ Masquer ]
Code php
array_multisort($tab["charg"], SORT_ASC,  $tab["com"],  SORT_ASC);

ou
Syntaxe: [ Télécharger ] [ Masquer ]
Code php
array_multisort($tab, SORT_ASC);


Logiquement, $tab devrait plutôt être comme cela et ne devrait pas être dans une boucle :
Syntaxe: [ Télécharger ] [ Masquer ]
Code php
$tab = array(
'mat'=>$mat,
'dat'=>$dat,
'charg'=>$charg,
'com'=>$com, );
 

</mode>

À moins que tu gardes secrètement l'application que tu es en train de faire, je crois qu'il serait intéressant de mettre un peu plus sur le forum. Je crois que ton script est bancal.

Bonne journée à toi
Glop glop, un kiw'z syou plait ^^
Komodo Edit - Inkscape - Dia

Niuxe ex str_anagramme(lemon) || str_anagramme(melon)
niuxe
Eléphanteau
 
Messages: 292
Inscription: 03 Mar 2008, 20:42
Localisation: sdf -squatter de forum

Re: trie sur tableau a plusieurs colonne

Messagede Invité le 08 Fév 2010, 10:32

Bonjour,
j'extrais juste les données de ma base, et je l'ai met dans un tableau, quand je fais un print_r, mon tableau s'affiche bien comme il faut, sauf qu'il faut que je trie selon 2 colonnes. Je ne peux pas le faire auparavant dans ma requête, car j'extrais selon des critères bien particulier.


voici un extrait de que cela m'affiche :
Syntaxe: [ Télécharger ] [ Masquer ]
Code php
Array ( [mat] => AD101 [dat] => 2010-01-01 [charg] => Vanessa [com] => 2 ) Array ( [mat] => AD111 [dat] => 2010-01-01 [charg] => Jessie [com] => 3 ) Array ( [mat] => AD112 [dat] => 2009-11-01 [charg] => Jessie [com] => 3 ) Array ( [mat] => AD113 [dat] => 2010-01-01 [charg] => Jessie [com] => 3 )


donc j'ai tester pour trier :
Syntaxe: [ Télécharger ] [ Masquer ]
Code php
array_multisort(charg, SORT_ASC,  com, SORT_ASC);

ou
Syntaxe: [ Télécharger ] [ Masquer ]
Code php
array_multisort($tab["charg"], SORT_ASC,  $tab["com"],  SORT_ASC);

mais cela ne change rien à mon affichage.
Invité
 

Re: trie sur tableau a plusieurs colonne

Messagede niuxe le 08 Fév 2010, 12:14

Hello,

Invité a écrit:Bonjour,
j'extrais juste les données de ma base, et je l'ai met dans un tableau, quand je fais un print_r, mon tableau s'affiche bien comme il faut, sauf qu'il faut que je trie selon 2 colonnes. Je ne peux pas le faire auparavant dans ma requête, car j'extrais selon des critères bien particulier.
[...]


Hum, je suis curieux de voir ta requête.

Syntaxe: [ Télécharger ] [ Masquer ]
Code sql
SELECT * FROM une_table WHERE un_champ > 1 OR un_autre_champ = "une valeur" ORDER BY un_champ, un_autre_champ;
#un_autre_champ sera trier en fonction de un_champ.
 


Et en php :
Syntaxe: [ Télécharger ] [ Masquer ]
Code php
$donnees = array(
    array("prenom" => "Ginette" , "taille" => 155),
    array("prenom" => "Olga" , "taille" => 185),
    array("prenom" => "Marcel" , "taille" => 175),
    array("prenom" => "Thérèse" , "taille" => 170),
    array("prenom" => "Susanne" , "taille" => 170),
    array("prenom" => "Charlotte" , "taille" => 171),
);
foreach($donnees as $k => $v){
    $prenom[$k] = $v["prenom"];
    $taille[$k] = $v["taille"];
}

array_multisort($prenom,SORT_ASC,$taille,SORT_ASC,$donnees);
        echo "<pre>";
        print_r($donnees);
        echo "</pre>";
 
Glop glop, un kiw'z syou plait ^^
Komodo Edit - Inkscape - Dia

Niuxe ex str_anagramme(lemon) || str_anagramme(melon)
niuxe
Eléphanteau
 
Messages: 292
Inscription: 03 Mar 2008, 20:42
Localisation: sdf -squatter de forum


Retourner vers PHP débutant

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 6 invités

  • Publicité