Les Allergies
Alimentaires
Posez votre question Signaler

[PHP] pagination des résultats engin recherch

dawcore 2Messages postés 17 juin 2007Date d'inscription - Dernière réponse le 28 juin 2007 à 22:33
Bon voilà je vous explique mon problème,
sur ma page d'accueil j'ai un formulaire qui permet de rechercher dans une Base de donnée selon certains critère dans un menu déroulant (<select name="categories"><option>...</option>). Lorsque l'utilisateur appuie sur le bouton rechercher il est rediriger sur une page nommée rechercher.php ou j'affiche les résultat.
sur cette page il y à ce code:
   <?php 
	  if(!isset($_GET['page']))
	  {
	     $page = "1";
	  }
	   else
	   {
	     $page = $_GET['page'];
	   }
	   
	  $max_resultat = "5";
	  
	  $de       = (($page * $max_resultat) - $max_resultat);
	  $sql4     = "SELECT * FROM restaurants WHERE categorie LIKE '".$_POST["categories"]."' LIMIT '".$de."','".$max_resultat."' ";
	  $requete4 = mysql_query($sql4);
	  $couleur  = "1";
	  
	  echo "SELECT * FROM restaurants WHERE categorie LIKE '".$_POST["categories"]."' LIMIT '".$de."','".$max_resultat."' ";
	 //affichage des resultats 
      
	  while($resultat=mysql_fetch_array($requete4))
	  {
	     echo $resultat['nom'];
	  }
	  
	  $resultat_total = mysql_result(mysql_query("SELECT COUNT(*) AS total FROM restaurants WHERE categorie LIKE '".$_POST["categories"]."'"),0);
	  $pages_total    = ceil($resultat_total / $max_resultat);
	  echo'<div id="pagination"><span id="pagination_resultats">R&eacute;sultats</span>';
	  
	 //affichage du precedent
	  if($page > 1)
	  {
	    $precedent = ($page - 1);
	    echo'<span class="btn-precedent"><a href="rechercher.php?page='.$precedent.'" title="Revenir d&#39;une page">pr&#233;c&#233;dent</a></span>';

	  }
	  
	 echo '<p style="text-align: center;">';
	 //affichage des pages
	  for($i = 1; $i <= $pages_total; $i++)
	  {
	     if(($page) == $i)
		 {
		    echo $i;
		 }
		  else
		  {
		     echo'<a href="rechercher.php?page='.$i.'" title="">'.$i.'</a>';
		  }
	  }
      echo'</p>';
	  
	 //affichage du suivant
	  if($page < $pages_total)
	  {
	    $suivant = ($page + 1);
	    echo'<span class="btn-suivant"><a href="rechercher.php?page='.$suivant.'" title="Avancer d&#39;une page">suivant</a></span>';
	  }	
	  echo'<!-- #pagination -->
		   </div>'; 
	   
   ?>

Le problème c'est qu'il m'affiche constamment l'erreur suivante:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\dossier\rechercher.php on line 91
On dirais que le problème ce situe au niveau du while et de la requête....
Merci pour votre aide !
Lire la suite 

[PHP] pagination des résultats engin recherch »

1 réponses
Réponse
+1
moins plus
salut ouep, visiblement ta requete SQL n'est pas bonne.

generalement ca vient d'une variable PHP qui est mal passée. Le plus souvent la valeur de la variable dans la requete est nulle, ce qui donne une requete qui passe pas.

En fait il faut voir au niveau des var POST ou GET si elles sont bien toutes passées de page en page.
Ajouter un commentaire
Ce document intitulé « [PHP] pagination des résultats engin recherch » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?