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 :

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);
Ensuite j'ai un fichier tpl (template avec smarty) dans lequel j'affiche mon tableau et également le tri sur les entétes.

Voici le code d'une entéte pour le tri :

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>
Le tri fonctionne parfaitement cependant, il me permet que le tri croissant soit "ASC", il boucle toujours sur mon else de ma fonction...

Quelqu'un voit une solution?

Merci