Boucle de pagination PHP

Résolu/Fermé
tybmhi Messages postés 200 Date d'inscription dimanche 13 juillet 2008 Statut Membre Dernière intervention 18 septembre 2017 - 8 août 2008 à 18:49
tybmhi Messages postés 200 Date d'inscription dimanche 13 juillet 2008 Statut Membre Dernière intervention 18 septembre 2017 - 9 août 2008 à 00:00
Bonjour,

Voilà, j'essaie de faire une pagination automatique en PHP. Donc sur une même page "physique" j'aurais "Page : 1 2 3 4 " (qui renvoie sur la meme page) selon le nombre de données totale et le nombre de données par page à récupérer. Lorsque j'arrive sur ma page j'ai effectivement "Page : 1 2 3 " qui s'affiche correctement avec le nombre exacte de données affichées.

Le problème est que dès que je clique sur un des numéros de page il m'affiche bien les données de la page en question mais n'affiche plus les numéros de pages et je ne peux donc plus aller sur une autre page. L'affichage est donc le suivant : "Page : " . J'aimerais vraiment pouvoir finir ce script correctement car il est vraiment pratique voir indispensable au bon fonctionnement du site. Je pense que le problème vient de la boucle qui fait afficher les numeros de page ou bien du lien des numeros de page. Voici le scrip au complet :

<?php
include ('../../repetition/bdd.php');
$pseudo = $_POST['choisirauteur'];

/*Si les données sont transmises dans l'url...*/
if ($pseudo==""){
$pseudo = $_GET['choisirauteur'];
}

// --------------- Etape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------

// On met dans une variable le nombre de messages qu'on veut par page

$nombreDeMessagesParPage = 1;

// On récupère le nombre total de messages

$retour = mysql_query("SELECT COUNT(*) AS nb_messages FROM commentpost WHERE pseudodupost='".$_POST['choisirauteur']."'");
$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];

// On calcule le nombre de pages à créer

$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);

// Puis on fait une boucle pour écrire les liens vers chacune des pages
?>
<p class="numeropage6">
<?php
echo 'Page : ';
for ($i = 1; $i <= $nombreDePages; $i++)
{
echo '<a href="commentparpseudo.php?page=' . $i . '&choisirauteur='.$pseudo.'">' . $i . '</a> ';
}
?>

</p>
<p class=apparition>
<?php
$_POST['choisirauteur']=$pseudo;

// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------

if (isset($_GET['page']))
{
$_POST['choisirauteur']=$pseudo;
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (commentparpost.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}

// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL

$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;

$reponse = mysql_query("SELECT * FROM commentpost WHERE pseudodupost='".$_POST['choisirauteur']."' ORDER BY id DESC LIMIT $premierMessageAafficher, $nombreDeMessagesParPage"); // Requête SQL
$lyricspost=nl2br($lyricspost);

// On fait une boucle pour lister tout ce que contient la table :

while ($donnees = mysql_fetch_array($reponse) )
{
$donnees['message']=str_replace("\'", "'", $donnees['message']);
$pseudo=$_POST['choisirauteur'];
?>
<strong><span class="fixe">Commentaire fait par : </strong></span><span style="color:darkblue; font-weight:bolder;"> <?php echo $donnees['pseudo']; ?></span><br/>
<span class="fixe">pour le titre </span> "<?php echo $donnees['numeromsg']; ?>"<br/>
<span class="fixe"></span> <br/><?php echo $donnees['message']; ?><br/><br/>
<a href="commentparpseudo.php#haut"> HAUT <img src="image/fleche.gif" style="border:none;"></a><br/>
<span class="lignepost"><img src="image/ligne2.gif" alt="separation" style="height:2px; width:15cm; position:absolute; left:0cm;"/></span><br/><br/><?php
}
mysql_close(); // Déconnexion de MySQL
?></p>
A voir également:

1 réponse

tybmhi Messages postés 200 Date d'inscription dimanche 13 juillet 2008 Statut Membre Dernière intervention 18 septembre 2017 12
9 août 2008 à 00:00
C'est bon ca marche !
1