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>";
		}
}}
?>