Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1592 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  pagination

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pagination

n°1235307
blade_8
Posté le 31-10-2005 à 18:52:25  profilanswer
 

Bonjour, j'ai trouvé un script pour faire une pagination à mes news, voila le code:
 

Citation :

<?
mysql_connect('localhost', '***', '***');
mysql_select_db('****');
 
$limit_par_page = 10;
 
if(isset($_GET['page']))
{
$page = $_GET['page'];
$page = $page - 1;
}
else
{
$page = 0;
}
$from = $page * $limit_par_page;
 
$sql = mysql_query("SELECT * FROM test LIMIT $from,$limit_par_page" ) or die(mysql_error());
 
while($donnees = mysql_fetch_array($sql))
{
echo $donnees['id'].' / '.$donnees['nom'].'<p><p>';
}
 
$sql2 = mysql_query("SELECT COUNT(*) AS nb_msg FROM test" );
$donnees2 = mysql_fetch_array($sql2);
$nb_msg = $donnees2['nb_msg'];
$nb_pages = ceil($nb_msg / $limit_par_page);
 
for($page=1;$page<=$nb_pages;$page++)
{
?>
 
<a href="pages.php?page=<? echo $page; ?>"><? echo $page; ?></a>  
<?
}
 
mysql_close();
?>


 
 
a part le mot de pass mysql, la base de donné etc... qu'est ce que je doit changer d'autre pour que mon script fonctionne? ma table de news s'appel "news" et comme champs dedans j'ai: id; titre; pseudo; contenu; timestamp
 
merci beaucoup :hello:

mood
Publicité
Posté le 31-10-2005 à 18:52:25  profilanswer
 

n°1235309
omega2
Posté le 31-10-2005 à 18:57:55  profilanswer
 

Donc en plus court : t'as récupéré un script sur le net et tu veux qu'on l'analyse à ta place pour te dire quoi changer par rapport à ce que tu veux faire.
 
C'est bien ça?

n°1235310
blade_8
Posté le 31-10-2005 à 18:59:12  profilanswer
 

je m'y connait pas tro en php, je demande simplement un renseignement en quelque sorte, je demande juste se qu'il faudrait que je modifie pour qu'il s'adapte à mon script de news,
merci :jap:

n°1235311
Roane
Pingouino's fan
Posté le 31-10-2005 à 19:02:17  profilanswer
 

Essaies de comprendre ce que les scripts font, plutot que de bricoler avec un bout de différents scripts ...

n°1235313
blade_8
Posté le 31-10-2005 à 19:06:34  profilanswer
 

arff on est sur un forum pour se faire aider et voila les réponse que je recoi, je n'ai pas envi d'apprendre le php profond, je connait de simple truc, mais le code que j'ai pris viens d'un tuto, je vous pose simplement une question, pas de me faire des lignes de code et de m'expliquer pourquoi, mais simplement quels sont les champs que je doit modifier pour qu'il s'adapte à mon script de news, c'est si compliqué que sa?  :o

n°1235318
omega2
Posté le 31-10-2005 à 19:10:35  profilanswer
 

Ta question, c'est pas une question de programmation pure, mais d'algo. En gros, réfléchir à ce que ton script devrait faire étape par étape pour faire ce que tu voudrais.
 
 
Petite question simple : a tes yeux que fait ce script que ne fait pas le tiens?
En plus clair : qu'elle sont les deux différences visible par le visiteur entre un affichage paginé et un affichage non paginé?
 
Pour moi, les différences sont simple : en paginé, on affiche que les "news" correspondant à la page en question et on affiche aussi le nombre de page avec un lien vers certaines pages ou vers toutes les pages.
 
Donc à modifier dans ton script à toi : utilisation du "limit" de mysql pour ne récupérer que ce qui doit être affiché (la génération de la page sera plus rapide vu que mysql envoira moins de donnée) et récupération du nombre d'élément au total. (pour pouvoir calculer le nombre de page)
 
 
 
Tu vois il y avait rien de vraiment compliqué. T'aurais pu trouver seul si tu avais réfléchis tranquillement. ;)

n°1235325
blade_8
Posté le 31-10-2005 à 19:17:24  profilanswer
 

merci beaucoup pour ta réponse, mais comme je l'ai dit je ne suis vraiment pas calé en php (je vais m'y mettre dans peu de temps promis, pour éviter de posé trop de question et surtout créer mes propres scripts) mais tu me dit de modifier le LIMIT mais dans le code il y a plusieurs LIMIT, lequel modifier et par quoi le modifier? merci beaucoup pour ton aide ;)

n°1235462
leflos5
On est ou on est pas :)
Posté le 01-11-2005 à 02:12:23  profilanswer
 

Il te parle du LIMIT de la requête SQL...
Tu vois que t'es pas prêt à comprendre comment ça marche ;)

n°1268123
mactech
Posté le 16-12-2005 à 09:06:16  profilanswer
 

salut
 
J'arrive après la bataille, mais ça peut servir pour d'autres.
Le même code que ci-dessus mais commenté.

Code :
  1. <?
  2. mysql_connect('localhost', '***', '***');
  3. mysql_select_db('****');
  4. /**
  5. * DÉTERMINE LE NOMBRE DE LIGNE À AFFICHER
  6. */
  7. $limit_par_page = 10;
  8. if(isset($_GET['page']))
  9. {
  10. $page = $_GET['page'];
  11. $page = $page - 1;
  12. }
  13. else
  14. {
  15. $page = 0;
  16. }
  17. $from = $page * $limit_par_page;
  18. /**  
  19. * DANS LA REQUETTE MYSQL CHANGE "TEST" PAR LE NOM DE TA TABLE MYSQL
  20. */
  21. $sql = mysql_query("SELECT * FROM test LIMIT $from,$limit_par_page" ) or die(mysql_error());
  22. while($donnees = mysql_fetch_array($sql))
  23. {
  24. /**
  25. * ICI TU REMPLACES 'ID' ET 'NOM' PAR LE NOM DES CHAMPS DE TA TABLE, TU PEUX EN AJOUTER D'AUTRES
  26. * EXEMPLE :  
  27. * echo $donnees['champ1'].' / '.$donnees['champ2'].' = '.$donnees['champ3'].'<p><p>';  
  28. */
  29. echo $donnees['id'].' / '.$donnees['nom'].'<p><p>';
  30. }
  31. /**
  32. * CETTE REQUETTE MYSQL PERMET DE CONNAITRE LE NOMBRE D'ENRIGISTREMENTS DANS LA TABLE CHANGE "TEST" PAR LE NOM DE TA TABLE MYSQL
  33. */
  34. $sql2 = mysql_query("SELECT COUNT(*) AS nb_msg FROM test" );
  35. $donnees2 = mysql_fetch_array($sql2);
  36. $nb_msg = $donnees2['nb_msg'];
  37. $nb_pages = ceil($nb_msg / $limit_par_page);
  38. for($page=1;$page<=$nb_pages;$page++)
  39. {
  40. ?>
  41. <!-- REMPLACE "PAGES.PHP" PAR LE NOM DE LA PAGE DANS LA QUELLE TU AS COPIÉ CE CODE  -->
  42. <a href="pages.php?page=<? echo $page; ?>"><? echo $page; ?></a> 
  43. <?
  44. }
  45. mysql_close();
  46. ?>

n°2181239
dge-06
Posté le 19-03-2013 à 14:32:44  profilanswer
 

J'arrive un peu tard lol
 
Moi j'ai une question, si tu as pleins de pages, genre 100, on ne peut pas séparer les pages par des ... ou encore incrémenter les page +1 ?
 
Enfin je ne sais pas si vous voyez ce que je veux dire :/


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  pagination

 

Sujets relatifs
pagination aspPagination
Finitions de mon livre d'or (pagination + date)JSP Pagination
Pagination JSP[ASP.NET] DataGrid et Pagination
Problèmes avec 2 macros pour pagination - VBScript, ASPXSQL pages et la pagination.
Problème de paginationpagination : méthode la plus performante ?
Plus de sujets relatifs à : pagination


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR