Tableau dynamique et tri - PHP - Programmation
Marsh Posté le 09-04-2006 à 12:01:30
Ben cherche, car la tu as un nombre bcp bcp trop importants de requetes et donc d'accès à MySQL.
Et surtout que c'est tres simple de faire en une seule requete.
Marsh Posté le 09-04-2006 à 12:15:49
Dorian BAC+4 a écrit : Bonsoir, |
Pas de pb, en php, tes tableaux sont toujours dynamiques. T'as besoin d'un nouvel élément ben tu l'écris et hop, tu l'as.
Exemple
Tu as une boucle et tu veux rajouter une nouvelle valeur dans ton tableau à chaque tour de boucle (ce qui est caractéristique d'un tableau dynamique), tu affectes juste ta variable avec des crochets sans argument, le php se chargera tout seul d'y mettre l'indice qui va bien
while (....) |
Tu as maintenant accès à tout le tableau allant de "$tab[0]" à "$tab[...]"
Avec ça, plus de soucis de taille (sauf si ça dépasse ta capacité mémoire)...
Marsh Posté le 09-04-2006 à 12:52:40
Pour le tri d'un tableau php déjà rempli, voir sort(), asort(), arsort(), ksort(), krsort() dans la doc...
Marsh Posté le 09-04-2006 à 12:54:03
(éventuellement natsort() et natcasesort(), même...bref ya surement tout ce qu'il te faut dans la doc... )
Marsh Posté le 09-04-2006 à 12:54:53
...et si vraiment rien de celles-ci ne fait ce que tu veux, ya évidemment usort(), uasort() et uksort()...
Marsh Posté le 09-04-2006 à 13:14:59
Array (
[0] => Array ( [Chapitre] => 8 [Ligne] => 1 [Position] => 2 [Type] => Tex [Id] => 13 )
[1] => Array ( [Chapitre] => 8 [Ligne] => 2 [Position] => 1 [Type] => Tex [Id] => 14 )
[2] => Array ( [Chapitre] => 8 [Ligne] => 3 [Position] => 1 [Type] => Tex [Id] => 15 )
[3] => Array ( [Chapitre] => 8 [Ligne] => 4 [Position] => 2 [Type] => Tex [Id] => 16 )
[4] => Array ( [Chapitre] => 8 [Ligne] => 5 [Position] => 1 [Type] => Tex [Id] => 17 )
[5] => Array ( [Chapitre] => 8 [Ligne] => 6 [Position] => 1 [Type] => Tex [Id] => 18 )
[6] => Array ( [Chapitre] => 8 [Ligne] => 1 [Position] => 1 [Type] => Img [Id] => 14 )
[7] => Array ( [Chapitre] => 8 [Ligne] => 2 [Position] => 2 [Type] => Img [Id] => 15 )
[8] => Array ( [Chapitre] => 8 [Ligne] => 4 [Position] => 1 [Type] => Img [Id] => 16 )
[9] => Array ( [Chapitre] => 8 [Ligne] => 6 [Position] => 2 [Type] => Img [Id] => 17 ) )
Voila ce que j'obtiens...
Je souhaiterais pouvoir classer ce tableau à la fois par ligne puis par position!
Afin d'obtenir :
Array (
[0] => Array ( [Chapitre] => 8 [Ligne] => 1 [Position] => 1 [Type] => Img [Id] => 14 )
[1] => Array ( [Chapitre] => 8 [Ligne] => 1 [Position] => 2 [Type] => Tex [Id] => 13 )
[2] => Array ( [Chapitre] => 8 [Ligne] => 2 [Position] => 1 [Type] => Tex [Id] => 14 )
[3] => Array ( [Chapitre] => 8 [Ligne] => 2 [Position] => 2 [Type] => Img [Id] => 15 )
[4] => Array ( [Chapitre] => 8 [Ligne] => 3 [Position] => 1 [Type] => Tex [Id] => 15 )
[5] => Array ( [Chapitre] => 8 [Ligne] => 4 [Position] => 1 [Type] => Img [Id] => 16 )
[6] => Array ( [Chapitre] => 8 [Ligne] => 4 [Position] => 2 [Type] => Tex [Id] => 16 )
[7] => Array ( [Chapitre] => 8 [Ligne] => 5 [Position] => 1 [Type] => Tex [Id] => 17 )
[8] => Array ( [Chapitre] => 8 [Ligne] => 6 [Position] => 1 [Type] => Tex [Id] => 18 )
[9] => Array ( [Chapitre] => 8 [Ligne] => 6 [Position] => 2 [Type] => Img [Id] => 17 ) )
Marsh Posté le 09-04-2006 à 13:18:34
tu devrais t'en sortir sans trop de difficultés avec usort()
Marsh Posté le 09-04-2006 à 16:02:08
Bof rien que s'il fait bien sa requete, il devrait deja avoir tout rangé correctement, et pas besoin d'ajouter du traitement php par dessus.
Code :
|
Par contre faut m'expliquer comme avec requete2 et requete3 identiques tu finis avec plus de Text que d'IMG
Marsh Posté le 09-04-2006 à 16:09:49
Il pose une question dans la cat' php, je donne une réponse php...doù le "Pour le tri d'un tableau php déjà rempli," au début de ma première réponse...
Mais c'est sûr que ce serait nettement plus intelligent de récupérer les données directement dans le bon ordre...
Marsh Posté le 09-04-2006 à 19:32:10
skeye a écrit : Il pose une question dans la cat' php, je donne une réponse php...doù le "Pour le tri d'un tableau php déjà rempli," au début de ma première réponse... |
Autant l'aider à choisir les meilleurs idées
Il n'avait pas forcement l'air de partir sur une solution 100% php mais plutot de trouver comment faire.
Donc un mixte de nos deux réponses [la tienne pour sa culture G, la mienne pour une solution complète à son problème] est parfait
Marsh Posté le 08-04-2006 à 21:11:38
Bonsoir,
Je souhaiterais pouvoir remplir un tableau dont je ne connais pas initialement la taille.
Ce tableau est rempli en collectant les données d'une table de données puis d'une autre.
En fonction d'une clé commune je souhaiterais ensuite pouvoir le trier.
Je vous remercie par avance de vos réponses.
Voici un essai faux mais qui représente ce que je voudrais faire...