Rechercher : dans
Par :

Boucle de pagination PHP

Dernière réponse le 9 aoû 2008 à 00:00:52 tybmhi, le 8 aoû 2008 à 18:49:54 
 Signaler ce message aux modérateurs

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>

Meilleures réponses pour « Boucle de pagination PHP » dans :
[PHP] Pagination VoirPrésentation Cette fonction permet de créer une pagination. Elle ne fait pas qu'afficher bêtement la liste des liens mais il est possible de mettre une limitation du nombre de liens avant et après la page actuelle. La fonction function...
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
Télécharger PHP Edit VoirPHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de fonctionnalités permettant de développer plus efficacement : Coloration syntaxique Auto-complétion des fonctions Débuggeur...
PHP - Structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...

1

 tybmhi, le 9 aoû 2008 à 00:00:52
  • +1

C'est bon ca marche !

Répondre à tybmhi