Moteur de recherche ne fonctionne pas

Résolu
firekkl Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -  
firekkl Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -
je voudrais realiser un moteur de recherche pour mon site mais il ne fonctionne pas.
la pagination apparaît et l'élément recherché aussi mais s'il plusieurs informations pour deux(2) pages par exemple , rien sort sur celle-ci.



     <div style="float:left; border: 0px solid #000099; width:25px">
     <form action="vente.php" method="get">
     <input name="titre" type="text"  value=""/>
     <input name="button" type="submit" value="envoyer" />
     </form>


    <?php

 include('paginate.php');
	// Connexion à la BDD (à vous de configurer les paramètres de connexion à la base)
	include('connexion.php');

	// Calcul du nombre total d'entrées $total dans la table pagination
	 if(isset($_GET['titre'])){
	
	$titre=mysqli_real_escape_string($bdd,$_GET['titre']);
	// a modif
  
	$res = mysqli_query($bdd, "SELECT COUNT(*)FROM location where titre LIKE '%".$titre."%'");
	$row = mysqli_fetch_row($res);
	$total = $row[0];

	
	mysqli_free_result($res);

	$epp = 1; 
	$nbPages = ceil($total/$epp); 

	$current = 1;
	if (isset($_GET['page']) && is_numeric($_GET['page'])) {
		$page = intval($_GET['page']);
		if ($page >= 1 && $page <= $nbPages) {
			// cas normal
			$current=$page;
		} else if ($page < 1) {
			 courante
			$current=1;
		} else {
			
			$current = $nbPages;
		}
	}

	$start = ($current * $epp - $epp);

 if(isset($_GET['titre'])){
	$titre=mysqli_real_escape_string($bdd,$_GET['titre']);
	$res = mysqli_query($bdd,"select*from location where titre LIKE '%".$titre."%' order by id DESC LIMIT $start, $epp") or die (mysqli_error($bdd));
	$nb=mysqli_num_rows($res);
	if($nb==0){
	?>
	..........................................................
	<?php 
	}
	else{
	
	 while($item=mysqli_fetch_assoc($res)){
     $_GET['titre'] = $_REQUEST['titre'];?>
		   
<?php }?>
<?php }?>
 
    <div style="float:left;  width:25px; height:20px"></div>
   <?php echo paginate('vente.php','?page=', $nbPages, $current);?>
  <?php }?>
    <div style
Bonjour,



5 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Le souci.. c'est que nous ne savons pas ce que contient : paginate.php...
Car visiblement...

Tu ne sembles pas non plus utiliser ta variable : $item .. alors que c'est la dedans que tu as les résultat de ta recherche non ?

et pour finir :
$_GET['titre'] = $_REQUEST['titre'];?>

Ce code (ci-dessus) .. ne retransformera pas ce qu'il y a dans REQUEST en variable "get" ... Enfin.. il le stockera bien dans la variable GET.. mais uniquement pour cette page....
(Une variable GET étant une variable passée en URL)...
Bref.. cette ligne de code ne sert strictement à rien.


et donc.. si tu veux afficher des resultats.. il te faut mettre quelque chose dans ta boucle...
 while($item=mysqli_fetch_assoc($res)){
   $titre = $item['titre'];
    echo "<br>".$titre;
}


0
firekkl Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
merci j'avais bougé un peu donc je vais essayer et te tenir au courant de la suite
0
firekkl Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour
j'ai essayé mais ça ne marche pas.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
TU as testé quoi ?
Qu'est ce qui ne fonctionne pas ?

As tu modifié ton code ? montre le nous...
0
firekkl Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
voici tout mon code les données recherchées s'affichent et aussi la pagination
mais quand on clique sur le lien de la page suivante elle n'affiche rien
je suis un bon débutant et là je suis coincé.
<?php

	// Connexion à la BDD (à vous de configurer les paramètres de connexion à la base)
	include('connexion.php');

	// Calcul du nombre total d'entrées $total dans la table pagination
	 if(isset($_GET['titre'])){
	
	$titre=mysqli_real_escape_string($bdd,$_GET['titrelocation']);
	// a modif
  
	$res = mysqli_query($bdd, "SELECT COUNT(*)FROM location where titrelocation LIKE '%".$titre."%'");
	$row = mysqli_fetch_row($res);
	$total = $row[0];

	// Libération de la mémoire associée au résultat
	mysqli_free_result($res);

	$epp = 1; // nombre d'entrées à afficher par page (entries per page)
	$nbPages = ceil($total/$epp); // calcul du nombre de pages $nbPages (on arrondit à l'entier supérieur avec la fonction ceil())

	// Récupération du numéro de la page courante depuis l'URL avec la méthode GET
	// S'il s'agit d'un nombre on traite, sinon on garde la valeur par défaut : 1
	$current = 1;
	if (isset($_GET['page']) && is_numeric($_GET['page'])) {
		$page = intval($_GET['page']);
		if ($page >= 1 && $page <= $nbPages) {
			// cas normal
			$current=$page;
		} else if ($page < 1) {
			// cas où le numéro de page est inférieure 1 : on affecte 1 à la page courante
			$current=1;
		} else {
			//cas où le numéro de page est supérieur au nombre total de pages : on affecte le numéro de la dernière page à la page courante
			$current = $nbPages;
		}
	}

	// $start est la valeur de départ du LIMIT dans notre requête SQL (dépend de la page courante)
	$start = ($current * $epp - $epp);

 if(isset($_GET['titre'])){
	$titre=mysqli_real_escape_string($bdd,$_GET['titre']);
	$res = mysqli_query($bdd,"select*from TABLE where titre LIKE '%".$titre."%' order by id DESC LIMIT $start, $epp") or die (mysqli_error($bdd));
	$nb=mysqli_num_rows($res);
	if($nb==0){
	?>
	<table width="680" height="215" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="584" height="213" align="center" class="montant"> <?php echo("DESOLE!AUCUNE DONNEE");?></td>
  </tr>
</table>

	<?php 
	}
	else{
	
	 while($item=mysqli_fetch_assoc($res)){
    ?>
		   <table width="645"  height="95" border="0" cellspacing="0" cellpadding="0">
            <tr>
        <td height="20" colspan="2" class="acc_place"><span style="font-weight:bold; color:#000;  padding:6px;">Catégorie:</span><?php echo($item['categorie'])?><span style="font-weight:bold; color:#000; padding:6px; margin-left:100px">Quartier:</span><?php echo($item['quartier'])?></td>
        <td width="130" rowspan="4"><img src="img_vente/<?php echo($item['image']);?>"/></td>
      </tr>
    <tr>
    <td width="95" height="40" class="readdate"><?php echo date("d-m-Y",strtotime($item['datelocation']));?>|</br></td>
    <td width="420" class="read_acc"><a href="vente/<?php echo($item['lien])?>"/><?php echo($item['titre']);?></a></td>
     </tr>
     <tr>
      <td height="20"><span style="font-weight:bold; color:#fff; border-radius:3px 0 3px 0; background:#000;  padding:4px;">A Vendre</span></td>
        <td height="20" class="acc_mt"><span style="color:#000000; font-size:14px">Prix:  </span><?php echo number_format($item['montant'],0, ',', ' ' )?> FCFA - <?php echo number_format(ceil($item['montant']),0, ',', ' ' );?> € </td>
       
     </tr>
      <tr>
        <td height="10" colspan="2" align="right" style="padding-top:0px; padding-right:30px"></td>
      </tr>
</table>
<div class="special_separator"></div>
<?php }?>
<?php }?>
 <?php }?>
    <div style="float:left;  width:25px; height:20px"></div>
  <?php echo paginate('toutes-les-locations.php', '?page=', $nbPages, $current) ;?>
  <?php }?>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
firekkl Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
je suis toujours sur le probleme
0