| Voir le sujet précédent :: Voir le sujet suivant |
| Auteur |
Message |
naholyr I am Virus

Inscrit le: 07 Fév 2005 Messages: 2766 Localisation: Lyon |
Posté le: 13 Mar 2005, 11:50 Sujet du message: [INFO] Trier les tables à la volée |
|
|
Voici de quoi faire économiser de précieuses ressources coté serveur pour la gestion du tri des tables, et de quoi ajouter une fonctionnalité très sympa à vos tables statiques:
http://www.kryogenix.org/code/browser/sorttable/
Fonctionnement, étant donné que vous avez une table de cette forme:
| Code: | <table ...>
<tr><th>Titre1</th><th>Titre2</th>...</tr>
<tr><td>Val1.1</td><td>Val2.1</td>...</tr>
<tr><td>Val1.2</td><td>Val2.2</td>...</tr>
...
</table> |
Il suffit d'inclure le script téléchargé (<script src="sorttable.js"></script>), et de transformer vos titres en liens utilisables par le script:
<th>TitreX</th>
devient (les parties en rouge sont celles à ajouter):
<th><a href="#" class="sortheader" onclick="ts_resortTable(this)">TitreX<span class="sortarrow"> </span></a></th>
Ben voilà, c'est tout , en cliquant sur les titres vous pouvez trier votre table selon la colonne (ordres croissants et decroissants s'alternent).
Comme vous le voyez la partie en rouge est fixe, et ne dépend en rien de l'environnement, donc il est très simple de faire un chercher/remplacer pour modifier globalement son code (avec l'expression régulière qui va bien ).
J'ajoute que si vous voulez "pré-trier" votre table, ce n'est pas beaucoup plus compliqué: ajoutez un ID au lien sur le titre de la colonne que vous voulez trier.
Par exemple: <th><a href="#" class="sortheader" onclick="ts_resortTable(this)" id="default_sort">TitreX<span class="sortarrow"> </span></a></th>
Puis triez selon cette colonne avec l'instruction JS ts_resortTable(document.getElementById("default_sort"));
(bien sûr cette instruction doit être placée après la déclaration de la table et l'insertion de sorttable.js).
Voilà, une petite solution très sympathique, testée sous IE/Opera/Firefox. |
|
|
 |
Elie Eléphant
Inscrit le: 08 Fév 2005 Messages: 625 Localisation: Paris |
Posté le: 13 Mar 2005, 12:59 Sujet du message: |
|
|
Très bon script c'est vrai que je le faisait avec de simple lien en PHP ca peut etre interressant ! _________________ ... |
|
|
 |
freemanolimit Invité
|
Posté le: 22 Déc 2006, 17:56 Sujet du message: tri d'une colonne... |
|
|
Bonjour,
Je n'arrive pas a utiliser ta fonction pour le tri d'une colonne.
Peux tu donner un exemple concret stp
Merci,
Arnaud. |
|
|
 |
Xenon_54 Magohamoth

Inscrit le: 07 Fév 2005 Messages: 1839 Localisation: Qc |
|
|
 |
Hubert Roksor Détendu

Inscrit le: 07 Fév 2005 Messages: 3155
|
Posté le: 06 Jan 2007, 06:56 Sujet du message: |
|
|
| ActiveWidgets a écrit: | | This version of ActiveWidgets library does not work in Opera browser. If you need the version which supports Opera - you should upgrade to ActiveWidgets Professional Edition. |
Je ne les ai jamais utilisées mais les fonctions "Grid" de YUI-ext ont l'air tout simplement ultimes. _________________ Le saviez-vous ? Mozilla retient HTTP prisonnier du siècle dernier, à vous de voter ! (bug #327765) |
|
|
 |
Xenon_54 Magohamoth

Inscrit le: 07 Fév 2005 Messages: 1839 Localisation: Qc |
Posté le: 06 Jan 2007, 07:36 Sujet du message: |
|
|
Super! Je prends note! _________________ La programmation est l'expression de la poésie d'un programmeur
Génération PHP |
|
|
 |
momox Mammouth
Inscrit le: 15 Oct 2005 Messages: 1049 Localisation: Créteil (94) |
Posté le: 06 Jan 2007, 11:34 Sujet du message: |
|
|
Alors la, moi qui m'embetais a chaque fois pour coder ce genre de conneries !
Par contre, sur le lien que tu as passé hubert, comment récupere t'on la valeur modifiée ?
Par contre, pour l'organisation des listes, le seul truc bloquant, c'est dans les listes de membres... Car on ne peut pas afficher toute la la liste des membres d'un coup malheureusement...
Imaginez un site de 30.000 membres
@+ |
|
|
 |
fab Magohamoth

Inscrit le: 07 Fév 2005 Messages: 2192 Localisation: Bordeaux |
Posté le: 06 Jan 2007, 12:12 Sujet du message: |
|
|
Si j'ai bien compris il faut généré un tableau en javascript pour effectuer le tri, pas tres cool si le tableau fait 200 lignes... L'utilisateur devra en supporter deux fois le poids au chargement
Je suis pas fan :p _________________ Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }
 |
|
|
 |
Junfan Embryon
Inscrit le: 24 Juil 2007 Messages: 14
|
Posté le: 12 Nov 2007, 16:08 Sujet du message: MERCI ! |
|
|
Et bien moi j'aime ce qui me fait gagner du temps !
Et là, ca me fait gagner un temps pas possible !
Merci beaucoup !  |
|
|
 |
fab Magohamoth

Inscrit le: 07 Fév 2005 Messages: 2192 Localisation: Bordeaux |
Posté le: 12 Nov 2007, 22:07 Sujet du message: |
|
|
Finalement à l'occasion d'un stage j'ai trouvé une utilité à ce genre de systemes et particulièrement lorsque les tableaux sont très lourd.
Pour ceux qui connaissent jquery il existe un plugin permettant de gérer simplement ça :
http://docs.jquery.com/Plugins/Tablesorter _________________ Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }
 |
|
|
 |
momox Mammouth
Inscrit le: 15 Oct 2005 Messages: 1049 Localisation: Créteil (94) |
Posté le: 12 Nov 2007, 23:37 Sujet du message: |
|
|
Le problème après, c'est qu'on rentre dans le débat de l'accessibilité...
Et a partir de la, si on veut faire un site a la fois dynamique et accessible, on est obligés de faire double codage...
Une version statique (ou l'on fait la mise en page html) et une version dynamique avec JSON et tout le tralala... |
|
|
 |
Truc Vighneshvara modérateur

Inscrit le: 01 Sep 2005 Messages: 7164 Localisation: Lille |
Posté le: 13 Nov 2007, 00:11 Sujet du message: |
|
|
Ah malheureux n'avance pas ce sujet ici  _________________
/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute
|
|
|
 |
Berzemus Ganesha

Inscrit le: 25 Sep 2007 Messages: 2676 Localisation: Département 96 |
Posté le: 13 Nov 2007, 10:50 Sujet du message: |
|
|
| fab a écrit: | Finalement à l'occasion d'un stage j'ai trouvé une utilité à ce genre de systemes et particulièrement lorsque les tableaux sont très lourd.
Pour ceux qui connaissent jquery il existe un plugin permettant de gérer simplement ça :
http://docs.jquery.com/Plugins/Tablesorter |
beni-sois-tu, je m'appretais justement à coder ça.. ça me laissera le temps de mieux fignoler d'autres aspects.. _________________ Mais qu'importe. (je suis ici)
Berze going social. |
|
|
 |
momox Mammouth
Inscrit le: 15 Oct 2005 Messages: 1049 Localisation: Créteil (94) |
Posté le: 13 Nov 2007, 21:09 Sujet du message: |
|
|
| Truc a écrit: | Ah malheureux n'avance pas ce sujet ici  |
C'est comme en politique, il y a toujours des sujets qui fachent ^^ |
|
|
 |
|