Bonjour,
J'essaie en vain de mettre en place un affichage multi page sur mon composant annuaire de joomla (peoplebook). Seule ma première page avec mes 5 premiers résultats s'affiche. Quand je clique sur suivant ou sur un numéro de page, ça revient toujours à cette même page avec les 5 premiers résultats. Comment faire pour que $position s'incrémente correctement?
Voilà le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 $result = mysql_query( "SELECT * FROM jos_peoplebook"); $nombre_commentaires = mysql_num_rows($result); $nombre_par_page = 5; // on va afficher 5 résultats par page. $nombre_de_pages=intval(($nombre_commentaires-1)/$nombre_par_page)+1; if ($position=="") $position=0; $page_courante=intval(($position/$nombre_commentaires)*$nombre_de_pages)+1; // AFFICHAGE DU NOMBRE DE COMMENTAIRES print ("<center>"); print ("( $nombre_commentaires membre"); if ($nombre_commentaires>1) print ("s"); print (" )<br>"); // AFFICHAGE DU PREV if ($page_courante!="1") { $nouvelle_position=(($page_courante-1)*$nombre_par_page)-$nombre_par_page; print ("<a href=cette_page.php?position=$nouvelle_position>"); } print ("prec"); if ($page_courante!="1") print ("</a>"); print (" "); // AFFICHAGE DES PAGES 1 A 5 $i=1; while ($i<6) { if ($nombre_de_pages>($i-1) && $page_courante!="$i") { $new_pos=$nombre_par_page*($i-1); print ("<a href=index.php?option=com_peoplebook&Itemid=47?position=$new_pos>"); } print ("$i"); if ($nombre_de_pages>($i-1) && $page_courante!="$i") { print ("</a>"); } print (" "); $i++; } // AFFICHAGE DU NEXT if ($nombre_de_pages>$page_courante) { $nouvelle_position=(($page_courante+1)*$nombre_par_page)-$nombre_par_page; print ("<a href=index.php?option=com_peoplebook&Itemid=47?position=$nouvelle_position>"); } print ("suiv"); if ($nombre_de_pages>$page_courante) print ("</a>"); print ("<br><br></center>"); #Prepare Content if( !isset($search) || $search == '' ) { $database->setQuery("SELECT * FROM #__peoplebook WHERE published='1' AND catid='$row1->id' ORDER BY LOWER($sort_field) $sort_order LIMIT ".$position.",".$nombre_par_page.""); $srows = $database->loadObjectList(); } else { if ( !is_array($search) ) { $search_cour = $search." AND published='1' AND catid='$row1->id' ORDER BY LOWER($sort_field) $sort_order LIMIT ".$position.",".$nombre_par_page.""; $database->setQuery($search_cour); $srows = $database->loadObjectList(); } else { foreach ($search as $search_line) { $search_cour = $search_line." AND published='1' AND catid='$row1->id' ORDER BY LOWER($sort_field) $sort_order LIMIT ".$position.",".$nombre_par_page.""; $database->setQuery($search_cour); $srows += $database->loadObjectList(); } } }
Partager