Résultat moteur de cherche avec pagination

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Résultat moteur de cherche avec pagination

Re: Résultat moteur de cherche avec pagination

par Ryle » 28 déc. 2010, 20:22

Et si tu regardes à la ligne 32 de ton script bindi.php, est-ce que tu n'aurais pas une division ?
As-tu vérifié que la valeur que tu utilisais pour la division était bien renseignée et surtout différente de zéro ?

Re: Résultat moteur de cherche avec pagination

par soleil44 » 28 déc. 2010, 18:18

c'est toujours celui ci:

Warning: Division by zero in C:\wamp\www\test\bindi.php on line 32

comme si c'était pas possible de calculer le nombre de résultats d'après la recherche...

Re: Résultat moteur de cherche avec pagination

par telnes » 28 déc. 2010, 17:18

hello

et c'est quoi les messages d'erreurs ?

++

Résultat moteur de cherche avec pagination

par soleil44 » 28 déc. 2010, 15:46

Bonjour,

Voilà mon problème, j'espère que quelqu'un pourra m'aider parce que je suis dessus depuis 3 jours!! :-(

J'ai un moteur de recherche interne lié à une bdd qui fonctionne très bien. Cependant je n'arrive pas à faire marcher mon système de pagination en fonction des résultats du moteur de recherche... comment "mélanger" les deux? j'ai des messages d'erreur.

Voici mes 2 codes:
le 1er pour le moteur de recherche:

<html>
<form method="POST" action="222.php"> 
Rechercher un mot : <input type="text" name="recherche">
<input type="SUBMIT" value="recherche"> 
</form>
</html> 


<div class="affichagesalons">

<?php include("connectionbdd2.php"); 

// Récupère la variable
$recherche = isset($_POST['recherche']) ? $_POST['recherche'] : '';
// la requete mysql
$sql = mysql_query("SELECT nom, adresse, localite, id FROM liste_salons WHERE nom LIKE '%$recherche%'" .
"  OR localite LIKE '%$recherche%'" . " OR adresse LIKE '%$recherche%'") or die (mysql_error());

// affichage du résultat
while(list($nom, $adresse, $localite)=mysql_fetch_array($sql))

{
echo ''.$nom.', '.$adresse.' à '.$localite.' <br />';

}


?>
et le 2ème pour le système de pagination:
 
<?php include("connectionbdd2.php"); 

$messagesParPage=5; //Nous allons afficher 5 messages par page.

//Une connexion SQL doit être ouverte avant cette ligne...
$retour_total=mysql_query('SELECT COUNT(*) AS total FROM liste_salons WHERE localite="prilly"'); //Nous récupérons le contenu de la requête dans $retour_total
$donnees_total=mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau.
$total=$donnees_total['total']; //On récupère le total pour le placer dans la variable $total.

//Nous allons maintenant compter le nombre de pages.
$nombreDePages=ceil($total/$messagesParPage);

if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
{
     $pageActuelle=intval($_GET['page']);
     
     if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
     {
          $pageActuelle=$nombreDePages;
     }
}
else // Sinon
{
     $pageActuelle=1; // La page actuelle est la n°1    
}

$premiereEntree=($pageActuelle-1)*$messagesParPage; // On calcul la première entrée à lire

// La requête sql pour récupérer les messages de la page actuelle.
$retour_messages=mysql_query('SELECT nom, adresse, id, localite FROM liste_salons WHERE localite="prilly" ORDER BY id DESC LIMIT '.$premiereEntree.', '.$messagesParPage.'');

while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
{
     //Je vais afficher les messages dans des petits tableaux. C'est à vous d'adapter pour votre design...
     //De plus j'ajoute aussi un nl2br pour prendre en compte les sauts à la ligne dans le message.
	     echo '
        <strong>'.stripslashes($donnees_messages['nom']).'</strong><br>
                '.nl2br(stripslashes($donnees_messages['adresse'])).'<br>
                '.nl2br(stripslashes($donnees_messages['localite'])).'<br><br>
				
             ';
		
			

	 
	 
    //J'ai rajouté des sauts à la ligne pour espacer les messages.   
}

echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages
for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
{
     //On va faire notre condition
     if($i==$pageActuelle) //Si il s'agit de la page actuelle...
     {
         echo ' [ '.$i.' ] '; 
     }	
     else //Sinon...
     {
          echo ' <a href="111.php?page='.$i.'">'.$i.'</a> ';
     }
}
echo '</p>';



?>
Merci d'avance pour vos solutions!