Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

XO :// EASY PAGING


Information sur la source

Catégorie :Divers Niveau : Débutant Date de création : 04/10/2003 Date de mise à jour : 04/10/2003 21:23:26 Vu : 2 440

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
J'en avais ras le bol de membeter avec le paging a chaque fois, donc paf deux fonctions pr simplifier tout ca.

page_a_query($items_nb, $items_per_page, $page_current)

Qui vous donne le nombre de page de votre paging, ainsi que les positions a laquelle votre page commence et sur quelle longueur.

Admettons que vous ayez a faire un paging a partir de 30 items, a raison de 10 par page, et que vous etes a la page 2

$lala = array();
$lala = page_a_query(30, 10, 2);

$lala[0] # le nombre de page en tout, dans notre exemple 3
$lala[1] # la position a laquelle commence la page en cours
$lala[2] # la longueur de la page

Apres ca peut donner quelque chose comme ca:
$qry_news = mysql_query("SELECT news_id, news_pdate, news_member_id, news_title FROM news ORDER BY news_pdate DESC LIMIT " .$lala[1]. "," .$lala[2]. "");

Je sais pas trop comment expliquer mais vous avez du comprendre ...

Et l'autre fonction qui permet de faire le menu de votre paging:

menu_a_paging($page_nb, $page_current, $str_bef_pg, $str_aft_pg, $str_bef_cpg, $str_aft_cpg, $str_del)

$str_bef_pg est ce qui sera placé avant le numéro de la page dans le menu
$str_aft_pg est ce qui sera placé apres le numéro de la page dans le menu
$str_bef_cpg est ce qui sera placé avant le numéro de la page, si celle ci est la page en cours
$str_bef_cpg est ce qui sera placé apres le numéro de la page, si celle ci est la page en cours
$str_del est ce qui sera placé entre les numéros de pages

Qui vous renvoie directement votre menu de paging du style:
"Pages 1, 2, 3"

Ca s'utilise comme ceci:

menu_a_paging($paging[0],$page,"<A href=index.php?act=edit&page=<page_id>$_usid>","</A>","<B>","</B>"," . ");

<page_id> sera remplace par la fonction par le numero de la page.

Cest pas super clair :/ Mais je suis sur que vous avez compris :)
 

Source

  • function page_a_query($items_nb, $items_per_page, $page_current)
  • {
  • $mypaging = array();
  • $page_nb = 0;
  • if($page_current == 1 || $page_current == 0) { $items_startpos = 0; }
  • else { $items_startpos = (($page_current-1) * $items_per_page); }
  • $page_nb = ceil($items_nb / $items_per_page);
  • $mypaging[0] = $page_nb;
  • $mypaging[1] = $items_startpos;
  • $mypaging[2] = $items_per_page;
  • return $mypaging;
  • }
  • function menu_a_paging($page_nb, $page_current, $str_bef_pg, $str_aft_pg, $str_bef_cpg, $str_aft_cpg, $str_del)
  • {
  • $html_menu = "";
  • for($i=1;$i<=$page_nb;$i++)
  • {
  • $html_menu .= str_replace("<page_id>","$i","$str_bef_pg");
  • if($i == $page_current) { $html_menu .= "$str_bef_cpg" .$i. "$str_aft_cpg"; }
  • else { $html_menu .= "$i"; }
  • $html_menu .= "$str_aft_pg";
  • if($i!=$page_nb) { $html_menu .= "$str_del"; }
  • }
  • return $html_menu;
  • }
function page_a_query($items_nb, $items_per_page, $page_current)
{		
	$mypaging 	= array();
	$page_nb	= 0;
	
	if($page_current == 1 || $page_current == 0) 	{ $items_startpos = 0; }
	else											{ $items_startpos = (($page_current-1) * $items_per_page); }
	
	$page_nb	= ceil($items_nb / $items_per_page);
	
	$mypaging[0] 	= $page_nb;
	$mypaging[1] 	= $items_startpos;
	$mypaging[2] 	= $items_per_page;
	
	return $mypaging;		
}

function menu_a_paging($page_nb, $page_current, $str_bef_pg, $str_aft_pg, $str_bef_cpg, $str_aft_cpg, $str_del)
{
	$html_menu = "";		
	for($i=1;$i<=$page_nb;$i++)
	{
		$html_menu .= str_replace("<page_id>","$i","$str_bef_pg");
		if($i == $page_current) { $html_menu .= "$str_bef_cpg" .$i. "$str_aft_cpg"; }
		else					{ $html_menu .= "$i"; }
		$html_menu .= "$str_aft_pg";	
		if($i!=$page_nb) { $html_menu .= "$str_del"; }		
	}
	
	return $html_menu;
}

Conclusion

Voili voilou
 

Commentaires et avis

signaler à un administrateur
Commentaire de Nox le 05/10/2003 04:35:37

cool

et t'a un site où on peut voir le resultat ? :P:P

signaler à un administrateur
Commentaire de LocalStone le 05/10/2003 11:12:45

J'allais poster la même source !!! :-p, et on a eu exactement la même idée : le code est quasiement identique ! Tu es donc aussi intelligent que moi : 10/10.

signaler à un administrateur
Commentaire de Kirua le 05/10/2003 12:22:31

mdr LocalStone ^^
c'est en effet une bonne idée, on doit tjs recommencer un système de navigation, c'est énervant. bien donc :-) 8/10

signaler à un administrateur
Commentaire de thepopolinux le 05/10/2003 20:48:51

Hum ... très bien mon gars !

10/10
@++

signaler à un administrateur
Commentaire de randiox le 07/10/2003 12:50:30

Yo, tres sympatique, je n'avais pas eu cette idée et je recommencais tout a chaque fois, comme un nul :(
Ben merci j'ai pas testé, mais j'ai lu, et ca m'a l'air de tenir la route ;)

++ RDX

signaler à un administrateur
Commentaire de vbtom le 07/10/2003 18:37:22

Nox &gt; le site que j'ai mis dans mon profil

LocalStone &gt; héhé

Kirua &gt; Oui effectivement cest tres penible

thepopolinux &gt; merci bonhomme

randiox &gt; Moi aussi je recommencais ca a chaque fois, sauf que ca me gonflait vraiment, là j'ai di stop ;)

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.