PHP sytème de pagination.
killermano66
Messages postés
233
Date d'inscription
Statut
Membre
Dernière intervention
-
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je rencontre un petit soucis avec un système de pagination. Celui-ci est lié à l'emploie de la méthode $_GET pour générer mes pages. J'utilise ce système pour mon site avec des url du genre :
nom_du_site/index.php?page=blog
Mais je n'arrives pas à l'adapter à mon système de pagination justement pour la partie blog. Le script me permet de créer des pages avec x billets à l'intérieur et d'afficher autant de pages nécessaires. Le calcul des pages est ok et fonctionne en revanche les liens ne m'emmène pas ou je souhaiterais. Je me doutes aussi qu'il manque quelque chose dans ma requête d'affichage mais je bloque totalement.
Les liens créés par le script sont du genre :
nom_du_site/index.php?page=blog&id=2
Mais ne récupèrent aucunes données.
Je vous met ci dessous le code de ma page :
J'espère que quelqu'un pourra m'aider et au passage si un ou une d'entre vous connaît un article expliquant VRAIMENT clairement la méthode $_GET avec des exemples concret etc ... je suis preneur car elle me bloque dans la plupart de mes scripts php.
Merci d'avance et bonne fin d'aprem ;)
Je rencontre un petit soucis avec un système de pagination. Celui-ci est lié à l'emploie de la méthode $_GET pour générer mes pages. J'utilise ce système pour mon site avec des url du genre :
nom_du_site/index.php?page=blog
Mais je n'arrives pas à l'adapter à mon système de pagination justement pour la partie blog. Le script me permet de créer des pages avec x billets à l'intérieur et d'afficher autant de pages nécessaires. Le calcul des pages est ok et fonctionne en revanche les liens ne m'emmène pas ou je souhaiterais. Je me doutes aussi qu'il manque quelque chose dans ma requête d'affichage mais je bloque totalement.
Les liens créés par le script sont du genre :
nom_du_site/index.php?page=blog&id=2
Mais ne récupèrent aucunes données.
Je vous met ci dessous le code de ma page :
<?php require("fichiers/connection.php"); //Affichage complet des news if(isset($_GET['id'])){ //si la variable id existe $id=$_GET['id']; // Affiche complet des articles $requete_selection = mysql_query('SELECT * FROM blog WHERE id='.$_GET['id']) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $donnees = mysql_fetch_assoc($requete_selection); $requete_selection = mysql_query('SELECT * FROM blog') or die('Erreur SQL !<br />: '.mysql_error()); echo '<div class="title"><h1 class="title_art">'.htmlentities($donnees['titre']).'</h1></div>'; echo '<div class="contenu_news">'; echo $donnees['image']; echo '<p class="justify">'.htmlentities($donnees['intro']).'</p>'; echo '<p class="justify">'.htmlentities($donnees['contenu']).'</p></div>'; } // Affichage des liens vers les articles else { //Pagination $nbMess = 2; $req = mysql_query('SELECT COUNT(*) AS nbMessage FROM blog'); $donnees2 = mysql_fetch_assoc($req); $totalMess = $donnees2['nbMessage']; $nbPages = ceil($totalMess / $nbMess); //Requête affichage $requete_selection = mysql_query('SELECT * FROM blog') or die('Erreur SQL !<br />: '.mysql_error()); while ($donnees = mysql_fetch_assoc($requete_selection)){ echo '<div class="title"><h1 class="title_art">'.htmlentities($donnees['titre']). '</h1></div><div class="contenu_news">'.$donnees['image'].'<p class="justify">'.htmlentities($donnees['intro']).'</p> <div class="suite_com"><div class="suite"><img src="design/normal/accept.png" alt="Lire la suite" /> <a href="index.php?page=blog&id='.$donnees["id"].'" class="general"> Lire la suite...</a> </div><p class="right"><img src="design/normal/com_litle.png" alt="Commentaires" /><a href="#" class="general"> Commenter</a> (15)</p></div></div>'; } //Affichage pagination echo 'Page : '; for ($i = 1 ; $i <= $nbPages ; $i++) { echo '<a href="index.php?page=blog&id=' . $i . '">' . $i . '</a> '; } } ?>
J'espère que quelqu'un pourra m'aider et au passage si un ou une d'entre vous connaît un article expliquant VRAIMENT clairement la méthode $_GET avec des exemples concret etc ... je suis preneur car elle me bloque dans la plupart de mes scripts php.
Merci d'avance et bonne fin d'aprem ;)
A voir également:
- PHP sytème de pagination.
- Pagination powerpoint - Guide
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Sommaire avec pagination - Guide
- Le fichier de pagination est insuffisant pour terminer cette opération ✓ - Forum Matériel & Système
1 réponse
Je n'ai pas testé, mais c'est une piste:
Ensuite pour ta question:
pour passer des valeurs d'une page à une autre deux méthodes
si la page 1 contient un formulaire il peut etre en methode get ou post
si post on recupére dans la page 2 par $_POST['nom_du_champ_formulaire']
si get "" "" $_GET['nom_du_champ_formulaire']
avec un lien page 1 on peut passer des valeurs en GET via l'URL
page2.php?var1=lundi&var2=fervrier
on récupère page2 par $_GET['var1'] et $_GET['var2']
vas voir le site:
www.siteduzero.com
<?php require("fichiers/connection.php"); //Affichage complet des news if(isset($_GET['id'])){ //si la variable id existe $id=$_GET['id']; // Affiche complet des articles $requete_selection = mysql_query('SELECT * FROM blog WHERE id='.$_GET['id']) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $donnees = mysql_fetch_assoc($requete_selection); //la requette ci dessous ne sert a rien, puisque tu utilises le résultat de celle au dessus //$requete_selection = mysql_query('SELECT * FROM blog') or die('Erreur SQL !<br />: '.mysql_error()); echo '<div class="title"><h1 class="title_art">'.htmlentities($donnees['titre']).'</h1></div>'; echo '<div class="contenu_news">'; echo $donnees['image']; echo '<p class="justify">'.htmlentities($donnees['intro']).'</p>'; echo '<p class="justify">'.htmlentities($donnees['contenu']).'</p></div>'; } // Affichage des liens vers les articles else { //Pagination $nbMess = 2; //recup du numero de la page appelée depuis le lien pagination, ou valeur par defaut=premiere page if(isset($_GET['num_page'])){ $num_page=$_GET['num_page'];} else {$num_page=1;} //calcul valeur LIMIT $debut=($nbMess*$num_page) - $nbMess; $req = mysql_query('SELECT COUNT(*) AS nbMessage FROM blog'); $donnees2 = mysql_fetch_assoc($req); $totalMess = $donnees2['nbMessage']; $nbPages = ceil($totalMess / $nbMess); //Requête affichage //si tu veux faire une pagination, il faut limiter le nombre d'article extraits de la BDD au nombre par page (c a d 2 dans ton cas) $requete_selection = mysql_query('SELECT * FROM blog LIMIT '.$debut.','.$nbMess.' ') or die('Erreur SQL !<br />: '.mysql_error()); while ($donnees = mysql_fetch_assoc($requete_selection)){ echo '<div class="title"><h1 class="title_art">'.htmlentities($donnees['titre']). '</h1></div><div class="contenu_news">'.$donnees['image'].'<p class="justify">'.htmlentities($donnees['intro']).'</p> <div class="suite_com"><div class="suite"><img src="design/normal/accept.png" alt="Lire la suite" /> <a href="index.php?page=blog&id='.$donnees["id"].'" class="general"> Lire la suite...</a> </div><p class="right"><img src="design/normal/com_litle.png" alt="Commentaires" /><a href="#" class="general"> Commenter</a> (15)</p></div></div>'; } //Affichage pagination echo 'Page : '; for ($i = 1 ; $i <= $nbPages ; $i++) { echo '<a href="index.php?page=blog&num_page=' . $i . '">' . $i . '</a> '; } } ?>
Ensuite pour ta question:
pour passer des valeurs d'une page à une autre deux méthodes
si la page 1 contient un formulaire il peut etre en methode get ou post
si post on recupére dans la page 2 par $_POST['nom_du_champ_formulaire']
si get "" "" $_GET['nom_du_champ_formulaire']
avec un lien page 1 on peut passer des valeurs en GET via l'URL
page2.php?var1=lundi&var2=fervrier
on récupère page2 par $_GET['var1'] et $_GET['var2']
vas voir le site:
www.siteduzero.com