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
| <?php
//Nombre de messages par page.
$messagesParPage=2;
if($categorie==1){
//on compte tout en fonction des critères de recherches
$retour_total=mysql_query("SELECT COUNT(*) AS total FROM MATABLE WHERE
ici_mes_criteres
WHERE id_categorie = ".$categorie."
");
//On récupère le contenu de la requête dans $retour_total
$donnees_total=mysql_fetch_assoc($retour_total);
//On range sous la forme d'un tableau.
$total=$donnees_total['total'];
//On compte le nombre de pages.
$nombreDePages=ceil($total/$messagesParPage);
if(isset($_GET['page']))
{
$pageActuelle=intval($_GET['page']);
if($pageActuelle>$nombreDePages)
{
$pageActuelle=$nombreDePages;
}
}
else
{
// La page actuelle est la n°1
$pageActuelle=1;
}
// On calcul la première entrée à lire
$premiereEntree=($pageActuelle-1)*$messagesParPage;
//-----Ici je me retape la requête en double juste pour faire passer ORDER BY et LIMIT-----//
$query = mysql_query("SELECT mes_champs FROM MATABLE WHERE
ici_mes_criteres
WHERE id_categorie = ".$categorie."
ORDER BY ".$trie." LIMIT ".$premiereEntree." , ".$messagesParPage."
");
}
//Ici on refait la même chose pour 10 autres catégories
else if($categorie==2){
//double requête pour les critères de sélections et comptage des pages
}
else if($categorie==3){
//double requête pour les critères de sélections et comptage des pages
}
//etc...
//Ici la pagination
$suivant=$pageActuelle+1;
$precedent=$pageActuelle-1;
if($categorie==1){
//Si la variable est plus grand ou égal
if($precedent>=1){
echo '<a class="pagination" title="Page précédente"
href="?page='.$precedent.'&trie='.$_GET['trie'].'&plein-de-criteres-passer-par-$_GET-en-fonction-de-la-categorie=...">« Page précédente</a>';
}
//Si la variable est plus petit ou égal
if($suivant<=$nombreDePages){
echo '<a class="pagination" title="Page suivante"
href="?&page='.$suivant.'&trie='.$_GET['trie'].'&plein-de-criteres-passer-par-$_GET-en-fonction-de-la-categorie=...">Page suivante »</a>';
}
}
else if($categorie==2){
//Si la variable est plus grand ou égal
if($precedent>=1){
echo '<a class="pagination" title="Page précédente"
href="?page='.$precedent.'&trie='.$_GET['trie'].'&plein-de-criteres-passer-par-$_GET-en-fonction-de-la-categorie=...">« Page précédente</a>';
}
//Si la variable est plus petit ou égal
if($suivant<=$nombreDePages){
echo '<a class="pagination" title="Page suivante"
href="?&page='.$suivant.'&trie='.$_GET['trie'].'&plein-de-criteres-passer-par-$_GET-en-fonction-de-la-categorie=...">Page suivante »</a>';
}
}
//etc...on recommence le code de pagination pour chaque catégorie
?> |
Partager