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

  FORUM HardWare.fr
  Programmation
  PHP

  Probleme, fonction page précédente / suivante

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme, fonction page précédente / suivante

n°1946474
seozus
Posté le 02-12-2009 à 02:06:20  profilanswer
 

Bonjour, je crois que j'ai probablement uniquement un problème de visualisation de mon problème et que bloque pour ça, c'est pourquoi je sollicite votre aide.
 
J'utilise une fonction qui me permet d'afficher les numéros de pages en fonctions du nombre d'articles par page que je veux afficher.
 
Ex: [1] [2] [3] [4]
Elle fonctionne à merveille, mais je désire afficher un bouton suivant si je ne suis pas à la dernière page (et qu'il y en a plus qu'une), et un précédent si je ne suis pas à la première.
 
La structure de ma fonction est prête, mais comme je suis plutôt débutant en PHP et que ma fonction était déja construite, je ne sais pas quoi mettre dans ma balise if (et où la placer) pour que ça fonctionne. J'ai réussi le précédent, mais je n'arrive pas à réussir pour le Suivant...
 
Voici mon code:

Code :
  1. function pagesCategorie($start,$nombre,$requete,$url) { //affichage des lien des autres pages Catégories
  2. $start = doubleval($start);
  3. $nombre = doubleval($nombre);
  4. $nbligne = 13;
  5. if($start<=0) $start=0;
  6. if($nombre<=0) $nombre=10;
  7. if(strstr($url,"?" )) $url .= "&amp;start=";
  8. else $url.="?start=";
  9. $pagesno = "<table border=\"0\" cellpadding=\"4\">";
  10. $nbresult = $requete;
  11. $nbpages = ceil($nbresult/$nombre);
  12. $cligne = 1;
  13. for($i=1;$i<=$nbpages;$i++)
  14. {
  15. $s = ($i-1)*$nombre;
  16. if ($i <= 9) $ei = "".$i; else $ei = $i;
  17. if ($cligne == 1) $pagesno .= "<tr><td colspan=\"2\">";
  18. //Affichage du lien précédent
  19. if ($i == $ei && $dejaAffiche==0 && $start!=0){
  20.  $pagesno .= "<span class=\"pagelink2\">&nbsp;<a href=\"$url".($start-10)."\">Précédent</a>&nbsp;</span> ";
  21.  $dejaAffiche=1;
  22. }
  23. if ($s == $start) $pagesno .= "<span class=\"pagelink2\">&nbsp;$ei&nbsp;</span> ";
  24. else $pagesno .= "<span class=\"pagelink\">&nbsp;<a href=\"$url".(($i-1)*$nombre)."\">$ei</a >&nbsp;</span> ";
  25. $cligne++;
  26. if ($cligne == ($nbligne + 1))
  27. {
  28. $pagesno .= "</td></tr>";
  29. $cligne = 1;
  30. }
  31. }
  32. $pagesno .= "</td></tr></table>";
  33. return $pagesno;
  34. }


Message édité par seozus le 02-12-2009 à 02:07:36

---------------
www.failqc.com : FailBlog québécois
mood
Publicité
Posté le 02-12-2009 à 02:06:20  profilanswer
 

n°1946514
Fred999
Rabat-joie
Posté le 02-12-2009 à 10:19:09  profilanswer
 

Si j'puis me permettre, le nom de tes variables n'est pas du tout explicite, c'est compliqué de lire le code :/
 
Sinon, pour commencer et nettoyer un peu ton code, y a ça qui est très bizarre : (ou alors faut qu'on m'explique :o)
 
if ($i <= 9) $ei = "".$i; else $ei = $i;
=> cette ligne ne sert à rien
 
Ligne suivante :  
if ($i == $ei && $dejaAffiche==0 && $start!=0){
$i == $ei est toujours réalisé vu la ligne précédente
$dejaaffiche n'est pas initialisé
 
Ensuite, la variable $nbresult ne sert à rien (autant utiliser $requete)
 
Et erso j'aime pas mettre un if/then/else le tout sur la même ligne, préfère une indentation sur 4 lignes, ou bien la syntaxe
 
$variable = (<condition> ) ? <valeur si condition réalisée) : <valeur si condition non réalisée)
 
Par exemple : $mikhail = ($moteur_a_eau == true) ? "génie" : "sqfp";

n°1946529
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 02-12-2009 à 10:40:43  profilanswer
 

pour ça c'est assez simple, si tu connais la page en cours et le nb de pages, t'as pas bcp à faire ...
 
if ($page_en_cours > 1)
echo '<a href="'.$ton_uri.'&amp;p='.($page_en_cours -1).'">Page précédente</a>';
 
if ($page_en_cours != $nb_pages)
echo '<a href="'.$ton_uri.'&amp;p='.($page_en_cours +1).'">Page suivante</a>';


---------------
NewsletTux - outil de mailing list en PHP MySQL

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

  Probleme, fonction page précédente / suivante

 

Sujets relatifs
problème firefox/CSS [RESOLU]Probleme ajax/javascript
[Plugin Firefox] Texte d'une pageProblème de bannières publicitaires
Récupérer id d’une page une autreProblème de gestion de la liaison série RS232 en VHDL
(resolu) Problème de positionnement d'un bouton CSSProblème activation javascript
Problème d'administration avec site professionnelProblème lien FTP
Plus de sujets relatifs à : Probleme, fonction page précédente / suivante


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