Bonjour,
J'ai une function recherche avec pagination. Le résultat affiche bien sur la première page, mais par contre a deuxième page n'affiche rien. Qu'est-ce que je devrais modifier?
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 <?php include("includes/config.php"); function resultat_recherche($search){ $ou=""; $search = preg_split('/[\s]+/',$search); $total_resultat = count($search); foreach($search as $key=>$searches){ $ou .="nomrecette LIKE '%$searches%'"; if($key !=($total_resultat-1)){ $ou .=" AND "; } } $sql = "SELECT COUNT(id_recettes) AS nb_recettes FROM recettes WHERE $ou"; $requete = mysql_query($sql) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" ); $result = mysql_fetch_array($requete); $nb_recettes = $result['nb_recettes']; $perPage = 1; $nb_Page = ceil($nb_recettes/$perPage); if(isset($_GET['p']) && $_GET['p']>0 && $_GET['p']<=$nb_Page){ $cPage = $_GET['p']; }else{ $cPage = 1; } $query=mysql_query("SELECT * FROM recettes WHERE $ou ORDER BY id_recettes LIMIT ".(($cPage-1)*$perPage).",$perPage"); $rows=mysql_num_rows($query); if($rows){ while($row = mysql_fetch_assoc($query)){ echo $row['nomrecette']."<br/><strong>".$row['preparation']."</strong><br />"; } }else echo "Pas de resultat pour votre recherche ".$searches; for($i=1;$i<=$nb_Page;$i++){ if($i==$cPage){ echo " $i "; }else{ echo "<a href=\"search.php?p=$i\">$i</a>"; } }} ?>
Partager