Bon voila je me suis déjà adresser a vous il y a quelque jours pour un problème de moteur de recherche et vous m'avez vraiment aidé mais je me retrouve de nouveau confronté à une difficulté que je n'arrive pas a surmonter. Voila après avoir fais le moteur de recherche on ma demander d'y intégrer une liste déroulante qui permettrait de choisir le nombre de résultat par page . ça j'ai fait mais le seul problème et la pagination j'ai bien le nombre de résultat mais j'ai qu'une page j'ai essayer différente méthode mon script arrive a calculer le nombre de page nécessaire pour afficher tout les résultat mais quand je clique sur le numéro de page j'ai des erreurs pourriez vous m'aidez svp? =D

Voici le html


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
<html>
<link rel="stylesheet" Type="text/css" Href="stylesheet.css">
 
<Title>XXX</title>
 
 
<Body>
 
<h2>XXXXXX</h2>
 
<form method="POST" action="recherche.php" align="center">
<h5>Veuillez entrer le nom du produit ou sa référence</h5>
<input  type="text" name="critere"><br /> 
<h5>Nombre de résultat par page</h5> 
  <select name="choix"  >
    <option value="5" selected="selected">5</option>
    <option value="10">10</option>
    <option value="20">20</option>
  </select><br><br>
<input type="submit" value="Recherche"/>
</form>


et voici le php

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
<?php
$host = "localhost";
 
$user = "xxxxx";
 
$password = "xxxx";
 
$bdd = "XXXXX";
 
$connexion = @ mysql_connect($host, $user,$password) or exit("Impossible de se connecter !") ;
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
 
// Numero de page (1 par défaut)
if( isset($_GET['page']) && is_numeric($_GET['page']) )
	$page = $_GET['page'];
else
	$page = 1;
 
// Nombre d'info par page
$pagination = $_POST['choix'];
// Numéro du 1er enregistrement à lire
$limit_start = 0;
$crit=$_POST['critere'];
// Préparation de la requête
$sql = "SELECT * FROM produit
		WHERE LIBELLE_PRODUIT LIKE '%".$crit."%'
		or DESCRIPTION LIKE '%".$crit."%' or REFERENCE_PRODUIT LIKE '%".$crit."%' ORDER BY REFERENCE_PRODUIT ASC LIMIT $limit_start, $pagination";
 
// Requête SQL
$resultat = mysql_query($sql);
 
// Traitement et affichage des données
if (mysql_num_rows($resultat) > 0){
echo '<table align="center" border="2" bordercolor="red">';
	echo '<tr><th>Image</th><th>Référence</th><th>Libellé</th><th>Prix TTC</th><th>Prix HT</th><th>Description</th></tr>';
while ( $r = mysql_fetch_assoc($resultat) ) {
	echo '<tr>';
		echo '<td height="22" align="center"><a href="'.$r['GRANDE_IMAGE_SITE_ORIGINE'].'"><img src="'.$r['PETITE_IMAGE_SITE_ORIGINE'].'" high=70 width=70/></a></td>';
		echo '<td height="22" align="center">'.$r['REFERENCE_PRODUIT'].'</td>';
		echo '<td height="22" align="center">'.$r['LIBELLE_PRODUIT'].'</td>';
		echo '<td height="22" align="center">'.$r['PRIX_TTC'].'</td>';
		echo '<td height="22" align="center">'.$r['PRIX_HT'].'</td>';
		echo '<td height="22" align="center">'.$r['DESCRIPTION'].'</td>';
		echo '</tr>';
	}
	echo '</table>';
} else {
	echo "<p>Aucun enregitrement ne correspond</p>";
}
	/* ICI VOTRE CODE NORMAL */
	/* Affichage d'un élément */
 
 
 
// Nb d'enregistrement total
$nb_total = mysql_query("SELECT * FROM produit
		WHERE LIBELLE_PRODUIT LIKE '%".$crit."%'
		or DESCRIPTION LIKE '%".$crit."%' or REFERENCE_PRODUIT LIKE '%".$crit."%'");
$nb_total = mysql_num_rows($nb_total);
 
 
// Pagination
$nb_pages = ceil($nb_total / $pagination);
 
echo '<p>[ Page :';
// Boucle sur les pages
for ($i = 1 ; $i <= $nb_pages ; $i++) {
	if ($i == $page )
		echo " $i";
	else
		echo " <a href=\"?page=$i\">$i</a> ";
}
echo ' ]</p>';
 
?>
je ne sais vraiment pas quoi faire pour que les résultats suivant s'affichent sur les pages =(