Page 1 sur 1

[resolu]Entêtes de tableau triables

Posté : 06 oct. 2010, 23:03
par xilil
Bonsoir à tous,

j'ai créé un tableau qui appelle mes données à partir de ma base MySQL via Dreamweaver.
J'ai ensuite voulu ajouter un système de pagination qui me permet d'afficher mes résultats sur plusieurs pages.
Finalement je voudrais pouvoir trier ces données, or c'est ici que ça coince. EN effet avec le système de pagination, dès que je change de page le tri reprend sa forme initiale.
Je sais pas si je suis clair... bref voici les codes ce sera certainement plus simple:

Voici le système de pagination :
<?php
if( isset($_GET['page']) && is_numeric($_GET['page']) )  

    $page = $_GET['page'];  

else 

    $page = 1; 

$pagination = 15;  
$limit_start = ($page - 1) * $pagination;  
?>
<?php
mysql_select_db(*******);
$query_Recordset1 = "SELECT id, nom2, recommande, ville, cp, cuisine, prix, note FROM form1 ORDER BY $order LIMIT $limit_start, $pagination ";
$Recordset1 = mysql_query($query_Recordset1, $Dedette) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
$nb_total = mysql_query('SELECT COUNT(*) AS nb_total FROM form1');  
$nb_total = mysql_fetch_array($nb_total);  
$nb_total = $nb_total['nb_total']; 
?>
Et voici le petit code que j'ai ajouté pour trier mes entêtes dans mon tableau :
$order="id";
if (isset($_GET['order'])){
$order=$_GET['order'];
}
ENfin voici comment j'affiche mes entêtes :
                    <td class="texte4"><a href="<?php print $_SERVER['PHP_SELF']."?order=nom2"; ?>">Nom</a></td>
                    <td class="texte4"><a href="<?php print $_SERVER['PHP_SELF']."?order=recommande"; ?>">Catégorie</a></td>
etc...
Ce code fonctionne mais dès que je change de page (via les pages crées par le système de pagination), le tri n'est plus bon.

Merci d'avance pour votre aide,

Alex

Re: Entêtes de tableau triables

Posté : 07 oct. 2010, 13:37
par Yosh
J'imagine que tu ne passe pas le "order by" dans ton lien de pagination.

Re: Entêtes de tableau triables

Posté : 07 oct. 2010, 16:32
par xilil
Non effectivement voici comment se crée le lien de pagination :
<?php 
$nb_pages = ceil($nb_total / $pagination);  
echo '<p>[ Page :';  
for ($i = 1 ; $i <= $nb_pages ; $i++) {  
 if ($i == $page )  
echo " $i";  
else 
echo " <a href=\"?page=$i\" class=\"lien4\">$i</a> ";  
}  
echo ' ]</p>'; 
?>
du coup e fais comment pour indiquer dans le lien le order by ? quelqu'un a une piste ?

Merci

Re: Entêtes de tableau triables

Posté : 07 oct. 2010, 17:09
par xilil
j'ai trouvé tout seul, merci pour votre aide, pour ceux que ça intéresse j'ai modifié mon lien de pagination comme suit :
<?php 
$nb_pages = ceil($nb_total / $pagination);  
echo '<p>[ Page :';  
for ($i = 1 ; $i <= $nb_pages ; $i++) {  
 if ($i == $page )  
 echo " <span class=\"lien3\">$i</span>";  
else 
echo " <a href=\"?page=$i&order=$order\" class=\"lien4\">$i</a> ";  
}  
echo ' ]</p>'; 
									?>