Problème Pagination
1 message
• Page 1 sur 1
- cybereco
- Nouveau WRInaute

- Messages: 35
- Inscription: 19 Aoû 2011
Problème Pagination
Bonjour,
Voici mon problème : lorsque j'utilise plusieurs variables ($sql = "SELECT COUNT(id) as nbArt FROM news WHERE position = '$position' AND lemag = '$mag' AND genre = '$genre'";),
ma pagination lorsque j'appelle la page .../lemag/chronique-un-lieu-une-histoire.php? s'affiche ainsi : -4 -3 -2 -1 0 (il ne devrait pas y a voir de page 0 et je ne devrais a priori obtenir -1, -2, -3 etc...). Ce script fonctionne impec avec 1 seule variable ($sql = "SELECT COUNT(id) as nbArt FROM news WHERE position = '$position'";).
Je n'arrive pas à trouver la logique pour inverser le sens de ma pagination (qui est certainement évidente et sous mes yeux, mais après plusieurs tests, je n'ai rien obtenu de mieux). Votre aide me serait alors précieuse et je vous en remercie.
Voici mon code :
Voici mon problème : lorsque j'utilise plusieurs variables ($sql = "SELECT COUNT(id) as nbArt FROM news WHERE position = '$position' AND lemag = '$mag' AND genre = '$genre'";),
ma pagination lorsque j'appelle la page .../lemag/chronique-un-lieu-une-histoire.php? s'affiche ainsi : -4 -3 -2 -1 0 (il ne devrait pas y a voir de page 0 et je ne devrais a priori obtenir -1, -2, -3 etc...). Ce script fonctionne impec avec 1 seule variable ($sql = "SELECT COUNT(id) as nbArt FROM news WHERE position = '$position'";).
Je n'arrive pas à trouver la logique pour inverser le sens de ma pagination (qui est certainement évidente et sous mes yeux, mais après plusieurs tests, je n'ai rien obtenu de mieux). Votre aide me serait alors précieuse et je vous en remercie.
Voici mon code :
- Code: Tout sélectionner
<?php
/*
Connexion à  la BDD
*/
require "connect.php";
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
$position = 'on';
$sql = "SELECT COUNT(id) as nbArt FROM news WHERE position = '$position'";
$req = mysql_query($sql) or die(mysql_error());
$data = mysql_fetch_assoc($req);
$nbArt = $data['nbArt'];
$perPage = 7;
$nbPage = ceil($nbArt/$perPage);
$cPage = 1;
if(isset($_GET['p']) && $_GET['p']>0 && $_GET['p']<=$nbPage){
$cPage = $_GET['p'];
}
{
$sql = "SELECT * FROM news WHERE position = '$position' ORDER BY id DESC LIMIT ".(($cPage-1)*$perPage).",$perPage";
$req = mysql_query($sql) or die(mysql_error());
while($data = mysql_fetch_assoc($req)){
?>
<ul class="contentlist"><h2><span
class="surtitre"><?php echo $data['commune'];?></span></h2>
<li class="article"> <a class="photo" title="<?php echo $data['titre'];?>"
<a
href="/article/<?php echo $data['id'];?>-<?php echo $data['url'];?>.html"> <img
style="border: 0px solid ; width: 170px; height: 138px;"
src="<?php echo $data['photo'];?>"</a>
<h2><a
href="/article/<?php echo $data['id'];?>-<?php echo $data['url'];?>.html"> <?php echo stripslashes($data['titre']);?></a></h2>
<div class="contenu"><?php echo stripslashes($data['description']);?></d>
<div class="infosPlus"><a
href="/article/<?php echo $data['id'];?>-<?php echo $data['url'];?>.html">Lire plus</a></div>
<div class="infosTxt"> <span class="publication">Article de <?php echo $data['auteur'];?> pour Flashwebdo - publié le : <?php echo date("d/m/Y G:i", strtotime($data['date'])); ?></span><span class="medias"> </div>
</li>
<?php
}
}
?>
<div class="pager">
<div class="resultat_pager"><?php
$nbPage=ceil($nbArt/$perPage);
if(!empty($_GET['p'])){$page=$_GET['p'];}else{$page=1;}
if($page>1){
echo "<a class='pager_deb disabled' title='première page' href=\"?p=1\"<span>Première page</span>";
$precedent=$page-1;
echo "<a class='pager_pct disabled' title='page précédente' href=\"?p=$precedent\"<span>Page
préc</span></a> ";
}
if($page>2){
$debut=$page-2;
}else{
$debut=1;
}
if($page<$nbPage-2){
$fin=$debut+4;
}else{
$debut=$nbPage-4;
$fin=$nbPage;
}
for($i=$debut;$i<=$fin;$i++){
if($page==$i){
echo $i;
}else{
echo "<a href=\"?p=$i\">$i</a> ";
}
}
if($page<$nbPage){
$suivant=$page+1;
echo "<a class='pager_svt' title='page suivante' href=\"?p=$suivant\">page suiv</a>";
echo "<a class='pager_fin' title='dernière page' href=\"?p=$nbPage\"><span>Dernière page
</span></a>";
}
?>
</div>
</div>
</ul><br>
1 message
• Page 1 sur 1
Lectures recommandées sur ce thème :
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
