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 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
|
<?php
// Connexion à la base de donnée
require_once("connexionMysql.inc.php");
// Le nom de notre table
$tablename = 'liste';
$ID_AUTEUR = (iSset($_GET['ID_AUTEUR']) ? $_GET['ID_AUTEUR'] : null);
$GENRE = (iSset($_GET['GENRE']) ? $_GET['GENRE'] : null);
// Tri sur colonne
$tri_autorises = array('AUTEUR','TITRE','GENRE');
if(!isset($_GET['order'])) $_GET['order']="";
$order_by = in_array($_GET['order'],$tri_autorises) ? $_GET['order'] : 'AUTEUR';
// Sens du tri
$order_dir = isset($_GET['inverse']) ? 'DESC' : 'ASC';
// PAGINATION
/* Numero de page (1 par défaut) */
if( isset($_GET['page']) && is_numeric($_GET['page']) )
$page = $_GET['page'];
else
$page = 1;
/* Nombre d'info par page */
$pagination = 10;
/* Numéro du 1er enregistrement à lire */
$limit_start = ($page - 1) * $pagination;
// PAGINATION
$requete = "SELECT * FROM liste LIMIT $limit_start, $pagination";
if ( $ID_AUTEUR != null) { // permet de filtrer ma liste de livres par auteur
$requete .= " WHERE ID_AUTEUR='".$ID_AUTEUR."'";
if ( $GENRE != null) { $requete .= " and GENRE='".$GENRE."'"; }//filtre par auteur et genre
}
else
{
if( $GENRE != null) { // filtre par genre
$requete .= " WHERE GENRE='".$GENRE."'";
}
}
$requete .= " ORDER BY ".$order_by." ".$order_dir; // tri
echo "$requete";
$resultat = mysql_query($requete) or die('Erreur SQL !'.$requete.'<br>'.mysql_error());
$num_rows = mysql_num_rows($resultat);//pour d'avoir le nb de mes livres
// fonction qui affiche les liens de TRI
function sort_link($text,$order=false)
{
global $order_by, $order_dir;
if(!$order)
$order = $text;
$link = '<a href="?order=' . $order ;
if (isset($_GET['ID_AUTEUR'])) {
$link .= "&ID_AUTEUR=".$_GET['ID_AUTEUR'];
}
if (isset($_GET['GENRE'])) {
$link .= "&GENRE=".$_GET['GENRE'];
}
if($order_by==$order && $order_dir=='ASC')
$link .= '&inverse=true';
$link .= '"';
if($order_by==$order && $order_dir=='ASC')
$link .= ' class="order_asc"';
elseif($order_by==$order && $order_dir=='DESC')
$link .= ' class="order_desc"';
$link .= '>' . $text . '</a>';
return $link;
}
?>
...contenu de ma page...
Puis suite et fin du scrip de pagination :
<div class="barrenavigation">
<?php $nb_total = mysql_query('SELECT COUNT(*) AS nb_total FROM liste');
$nb_total = mysql_fetch_array($nb_total);
$nb_total = $nb_total['nb_total'];
/* Pagination */
$nb_pages = ceil($nb_total / $pagination);
echo '<p>[ Page :';
/* Boucle sur les pages */
for ($i = 1 ; $i <= $nb_pages ; $i++) {
if ($i == $page )
echo " $i";
else
echo " <a href=\"?page=$i\">$i</a> ";
}
echo ' ]</p>';
?>
</div> |
Partager