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.

[INFO] Trier les tables à la volée

Postez ici toutes vos petites astuces de développement, les scripts sympa et vos productions personnelles.
Ainsi vos messages ne seront pas enfouis sous une tonne de questions.

[INFO] Trier les tables à la volée

Messagede naholyr le 13 Mar 2005, 11:50

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:
<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">&nbsp;&nbsp;&nbsp;</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 :P).


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">&nbsp;&nbsp;&nbsp;</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.
Avatar de l’utilisateur
naholyr
Administrateur PHPfrance
Administrateur PHPfrance
 
Messages: 2808
Inscription: 07 Fév 2005, 15:31
Localisation: Villefranche Sur Saone

Publicité

Messagede Elie le 13 Mar 2005, 12:59

Très bon script c'est vrai que je le faisait avec de simple lien en PHP ca peut etre interressant !
...
Elie
Eléphant
 
Messages: 636
Inscription: 08 Fév 2005, 03:01
Localisation: Paris

tri d'une colonne...

Messagede freemanolimit le 22 Déc 2006, 17:56

Bonjour,

Je n'arrive pas a utiliser ta fonction pour le tri d'une colonne.

Peux tu donner un exemple concret stp


Merci,

Arnaud.
freemanolimit
 

Messagede Xenon_54 le 06 Jan 2007, 05:52

La programmation est l'expression de la poésie d'un programmeur
Génération PHP
Avatar de l’utilisateur
Xenon_54
Magohamoth
 
Messages: 1839
Inscription: 07 Fév 2005, 13:40
Localisation: Qc

Messagede Hubert Roksor le 06 Jan 2007, 06:56

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)
Avatar de l’utilisateur
Hubert Roksor
Administrateur PHPfrance
Administrateur PHPfrance
 
Messages: 3152
Inscription: 07 Fév 2005, 18:27

Messagede Xenon_54 le 06 Jan 2007, 07:36

Super! Je prends note!
La programmation est l'expression de la poésie d'un programmeur
Génération PHP
Avatar de l’utilisateur
Xenon_54
Magohamoth
 
Messages: 1839
Inscription: 07 Fév 2005, 13:40
Localisation: Qc

Messagede momox le 06 Jan 2007, 11:34

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 :lol:
@+
momox
Mammouth
 
Messages: 1121
Inscription: 15 Oct 2005, 09:19
Localisation: La Ville du Bois (91)

Messagede fab le 06 Jan 2007, 12:12

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); }
fab
ViPHP
ViPHP
 
Messages: 2569
Inscription: 07 Fév 2005, 20:11
Localisation: Bordeaux

MERCI !

Messagede Junfan le 12 Nov 2007, 16:08

Et bien moi j'aime ce qui me fait gagner du temps !
Et là, ca me fait gagner un temps pas possible !

Merci beaucoup ! ;)
Junfan
Embryon
 
Messages: 14
Inscription: 24 Juil 2007, 23:32

Messagede fab le 12 Nov 2007, 22:07

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); }
fab
ViPHP
ViPHP
 
Messages: 2569
Inscription: 07 Fév 2005, 20:11
Localisation: Bordeaux

Messagede momox le 12 Nov 2007, 23:37

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...
momox
Mammouth
 
Messages: 1121
Inscription: 15 Oct 2005, 09:19
Localisation: La Ville du Bois (91)

Messagede Truc le 13 Nov 2007, 00:11

Ah malheureux n'avance pas ce sujet ici :lol:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute
Avatar de l’utilisateur
Truc
Modérateur PHPfrance
Modérateur PHPfrance
 
Messages: 7509
Inscription: 01 Sep 2005, 17:56
Localisation: Lille

Messagede Berzemus le 13 Nov 2007, 10:50

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


:priere: 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.
Avatar de l’utilisateur
Berzemus
ViPHP
ViPHP
 
Messages: 2988
Inscription: 25 Sep 2007, 08:50
Localisation: Département 96

Messagede momox le 13 Nov 2007, 21:09

Truc a écrit:Ah malheureux n'avance pas ce sujet ici :lol:

C'est comme en politique, il y a toujours des sujets qui fachent ^^
momox
Mammouth
 
Messages: 1121
Inscription: 15 Oct 2005, 09:19
Localisation: La Ville du Bois (91)


Retourner vers Vos contributions

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

  • Publicité