Problème affichage tableau [Résolu] - PHP - Programmation
Marsh Posté le 12-06-2013 à 17:51:10
Je pense que tu veux faire :
- un tri "complexe" (en fonction d'un sous-tableau)
- faire une boucle d'affichage
le Tri complexe est faisable via la fonction usort
Et la boucle, boucle d'affichage c'est pas trop dur non ? (mais ce n'est pas print_r)
Tu peux nous montrer ta boucle d'affichage actuelle (elle semble exister non ?)
Marsh Posté le 13-06-2013 à 11:18:38
Voilà ma boucle d'affichage
Code :
|
Je l'ai simplifié pour ici, car c'est cette partie qui nous intéresse.
Je sais que ce n'est pas un print_r
Marsh Posté le 13-06-2013 à 11:20:51
Ah j'ai failli oublié, le tri que je voudrai faire est sur cette clé : (celle en rouge, c'est mon ordre)
Code :
|
Marsh Posté le 13-06-2013 à 13:06:27
Je ne suis pas sûr de comprendre : tu dis que le tableau "change d'ordre" en cours de route, c'est ça ?
Si c'est le cas, c'est bizarre. Sinon, comme je l'ai déjà écrit, il suffit d'utiliser usort pour des tri arbitrairement complexes (et foreach est plus propre/lisible que for($i=0;$i<count(...);$i++)
Exemple :
Code :
|
Marsh Posté le 13-06-2013 à 14:14:10
En fait quand je dis change d'ordre, c'est pas vraiment ce que je veux ire (je sais je suis tordu )
Disons que je voudrai savoir si c'est normal que quand je fais un print_r, mon tableau est affiché dans un certain ordre, mais quand je l'affiche dans ma boucle, il est dans un autre ...
Pourquoi il ne garde pas le même ordre que l'affichage du print_r ?
Je vais essayé ton bout de code
Marsh Posté le 13-06-2013 à 15:08:56
Ton code marche, mais pas avec mon tableau...
Je m'explique :
Je met ton code, j'ai bien l'ordre que je veux.
Code :
|
Me donne bien :
Code :
|
Mais avec mon tableau çà me donne :
Code :
|
Et mais çà s'affiche par ordre alphabétique ...
Marsh Posté le 13-06-2013 à 15:55:55
alors là je sèche... C'est la première fois que j'entends parler d'un tableau php qui se "réorganise" entre 2 lignes de codes sans modif/tri...
Si tu fais un
Code :
|
ça donne quoi ?
Marsh Posté le 13-06-2013 à 16:11:51
Bah quand je fais çà, la première ligne, le print_r, me donne bien ma ligne dans le bon ordre, et dès que j'arrive dans le foreach çà se barre en vrac ....
Incompréhensible !
Question annexe : a quoi sert le
Code :
|
?
Marsh Posté le 13-06-2013 à 16:22:54
J'essaye de te donner plus de détails :
Je mets ton code :
Code :
|
J'obtiens çà :
Code :
|
Et voilà juste en dessous ce qu'il y a :
Code :
|
Et là mon ordre devient :
Code :
|
Marsh Posté le 13-06-2013 à 17:02:13
Mais je ne vois pas l'appel à "usort" dans ton code (le complet).
Et sinon, il vaut vraiment mieux faire appel à un moteur de template (twig, smarty...) c'est quand même plus lisible
Marsh Posté le 13-06-2013 à 17:28:01
Il y est c'est moi qui ai fauté au moment du copier coller. Il est juste avant la bouche for, comme dans ton exemple ...
Je sais que c'est plus propre avec un moteur de template mais projet professionnel cela a été décidé de faire sans ....
Bon bah je crois que çà va rester un mystère !
Marsh Posté le 14-06-2013 à 11:29:55
Bon aller ce matin j'étais de bonne humeur, et je me suis dis je vais résoudre ce problème !
Et je l'ai résolu, quand j'ai trouvé la solution, en à peu près 10 secondes, je me suis dis, je vais me mettre une balle dans la tête !
Côté PHP tout est parfait ! Mais j'avais un petit détail, vraiment léger, j'utilise le plugin Datatables pour mon tableau, et ce c**, il tri le tableau tout seul !
Conclusion, je suis un boulet
En tout cas merci quand même pour le usort, je ne me suis pas couché débile !
Marsh Posté le 12-06-2013 à 15:40:21
Bonjour à tous,
Je me retrouve face à un problème et je ne comprends pas le pourquoi du comment.
Je détails :
J'ai un tableau qui est construit en fonction d'un résultat de ma SP :
Certes jusque là rien de bien compliqué, tout çà dans une boucle while et tout le tralala.
Mon problème arrive !
Je fais un joli
Et voilà ce que je j'obtiens :
Parfois, en plus c'est dans l'ordre que je veux !
Mais quand je veux écrire mon tableau pour faire tout joli, voilà l'ordre dans lequel çà m'affiche :
En gros par ordre alphabétique ... mes questions, pourquoi ? et comment faire pour changer çà ?
Merci d'avance !
Message édité par stylix le 14-06-2013 à 11:31:45