Bonjour,
à l'aide de ce tuto j'ai réussi à paginer mon tableau,

maintenant je cherche une solution pour trier les lignes du tableau
j'ai donc créé une variable $ColSel que j'ai inséré dans la fonction SQL
Malheureusement je ne trouve pas la solution pour modifier la valeur de $ColSel seulement lorsque je clique sur le <a href correspondant,
j'ai essayé en remplaçant $ColSel par $_SESSION['ColSel'] afin que la valeur soit conservée lors de la recharge de la page - est-ce à conserver?
mais comment modifier la valeur de $_SESSION['ColSel'] seulement lorsque je clique sur <a href correspondant? via AJAX? via un if(isset....?
si qqun pouvait m'aider svp
merci

Nota: j'ai trouvé un exemple (ci-dessus) avec __doPostBack mais je n'ai rien trouvé sur le net concernant cette fonction et ça ne fonctionne pas!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<a href="javascript:__doPostBack('ctl00$ctl00$cph$gv$ctl02$Activite_Poste&amp;desc','')"><img src="images/order_down.png"/></a>
code du tuto repris
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 
<html>
<head>
<title>Exemple de pagination automatique sur un livre d or</title>
</head>
<body>
<?php
//Connexion à la base de données
mysql_connect('serveur', 'utilisateur', 'motdepasse');
mysql_select_db('basededonnees');
 
$messagesParPage=5; //Nous allons afficher 5 messages par page.
 
//Une connexion SQL doit être ouverte avant cette ligne...
$retour_total=mysql_query('SELECT COUNT(*) AS total FROM livredor'); //Nous récupérons le contenu de la requête dans $retour_total
$donnees_total=mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau.
$total=$donnees_total['total']; //On récupère le total pour le placer dans la variable $total.
 
//Nous allons maintenant compter le nombre de pages.
$nombreDePages=ceil($total/$messagesParPage);
 
if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
{
     $pageActuelle=intval($_GET['page']);
 
     if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
     {
          $pageActuelle=$nombreDePages;
     }
}
else // Sinon
{
     $pageActuelle=1; // La page actuelle est la n°1
     $ColSel = 'id ASC' -> ligne rajouter dans le tuto de base pour trier les lignes,     
}
 
$premiereEntree=($pageActuelle-1)*$messagesParPage; // On calcul la première entrée à lire
 
// La requête sql pour récupérer les messages de la page actuelle.
$retour_messages=mysql_query('SELECT * FROM livredor ORDER BY '.$ColSel.' LIMIT '.$premiereEntree.', '.$messagesParPage.'');
 
while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
{
     //Je vais afficher les messages dans des petits tableaux. C'est à vous d'adapter pour votre design...
     //De plus j'ajoute aussi un nl2br pour prendre en compte les sauts à la ligne dans le message.
     echo '<table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
                <tr>
                     <td><strong>Ecrit par : '.stripslashes($donnees_messages['pseudo']).'</strong></td>
                </tr>
                <tr>
                     <td>'.nl2br(stripslashes($donnees_messages['message'])).'</td>
                </tr>
            </table><br /><br />';
    //J'ai rajouté des sauts à la ligne pour espacer les messages.   
}
 
echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages
for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
{
     //On va faire notre condition
     if($i==$pageActuelle) //Si il s'agit de la page actuelle...
     {
         echo ' [ '.$i.' ] '; 
     }	
     else //Sinon...
     {
          echo ' <a href="livredor.php?page='.$i.'">'.$i.'</a> ';
     }
}
echo '</p>';
?>
</body>
</html>