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

Inscrit le: 07 Fév 2005 Messages: 2503 Localisation: Lyon |
Posté le: 13 Mar 2005, 12: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éphanteau
Inscrit le: 08 Fév 2005 Messages: 457 Localisation: Paris |
Posté le: 13 Mar 2005, 13: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, 18: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: 1837 Localisation: Qc |
|
|
 |
Hubert Roksor Détendu

Inscrit le: 07 Fév 2005 Messages: 3155
|
Posté le: 06 Jan 2007, 07: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: 1837 Localisation: Qc |
Posté le: 06 Jan 2007, 08: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 Eléphant
Inscrit le: 15 Oct 2005 Messages: 963 Localisation: La ville du bois, dans l'essonne :) |
Posté le: 06 Jan 2007, 12: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: 2038 Localisation: Bordeaux |
Posté le: 06 Jan 2007, 13: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: 25 Juil 2007 Messages: 14
|
Posté le: 12 Nov 2007, 17: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: 2038 Localisation: Bordeaux |
Posté le: 12 Nov 2007, 23: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 Eléphant
Inscrit le: 15 Oct 2005 Messages: 963 Localisation: La ville du bois, dans l'essonne :) |
Posté le: 13 Nov 2007, 00: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: 6811 Localisation: Lille |
Posté le: 13 Nov 2007, 01: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. |
|
|
 |
Berzemus Magohamoth

Inscrit le: 25 Sep 2007 Messages: 1529 Localisation: Bruxelles |
Posté le: 13 Nov 2007, 11: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) |
|
|
 |
momox Eléphant
Inscrit le: 15 Oct 2005 Messages: 963 Localisation: La ville du bois, dans l'essonne :) |
Posté le: 13 Nov 2007, 22: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 ^^ |
|
|
 |
|