Bonsoir à tous,
voila j'ai un tableau dans lequel j'affiche les résultats d'une requête.
J'ai fait des focntions de tri, pour pouvoir trier de maniére croissante ou décroissante.
Les voici :
Ensuite j'ai un fichier tpl (template avec smarty) dans lequel j'affiche mon tableau et également le tri sur les entétes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 //Gestion de la variable tri pour générer le tri sur le requête if (isset($_GET['tri']) and !empty($_GET['tri']) and !$_GET['tri']=="") { switch($_GET['tri']) { case "marque" : $tri = " ORDER BY log_marque"; break; case "libelle" : $tri = " ORDER BY log_libelle"; break; case "version" : $tri = " ORDER BY log_version"; break; case "famille" : $tri = " ORDER BY log_famillelogiciel"; break; case "description" : $tri = " ORDER BY log_description"; break; case "numserie" : $tri = " ORDER BY log_numserie"; break; case "nblicences" : $tri = " ORDER BY log_nblicences"; break; case "typelicence" : $tri = " ORDER BY log_typelicence"; break; case "datefinvalidite" : $tri = " ORDER BY log_datefinvalidite"; break; default : $tri = " ORDER BY log_idlogiciel"; } } else { $tri = " ORDER BY log_idlogiciel"; } //Gestion de la variable ord pour générer le type de tri (croissant ou décroissant) sur le requête if (isset($_GET['ord'])) { switch($_GET['ord']) { case "asc" : $ord = " asc"; $ord2 = "desc"; break; case "desc" : $ord = " desc"; $ord2 = "asc"; break; default : $ord = " asc"; $ord2 = "desc"; } } else { $ord = " asc"; $ord2 = "desc"; } $smarty->assign("tri",$tri); $smarty->assign("ord",$ord); $smarty->assign("ord2",$ord2);
Voici le code d'une entéte pour le tri :
Le tri fonctionne parfaitement cependant, il me permet que le tri croissant soit "ASC", il boucle toujours sur mon else de ma fonction...
Code : Sélectionner tout - Visualiser dans une fenêtre à part <td><a href="bilan_logiciel.php?tri=marque&ord={if isset($tri) && $tri=='marque'}{$ord2}{else}{'asc'}{/if}">Titre</a></td>
Quelqu'un voit une solution?
Merci
Partager