Moteur de recherche ne fonctionne pas

Résolu/Fermé
firekkl Messages postés 37 Date d'inscription vendredi 1 août 2014 Statut Membre Dernière intervention 1 juillet 2015 - 18 déc. 2014 à 17:53
firekkl Messages postés 37 Date d'inscription vendredi 1 août 2014 Statut Membre Dernière intervention 1 juillet 2015 - 13 févr. 2015 à 11:20
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,



A voir également:

5 réponses

jordane45 Messages postés 38296 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 19 novembre 2024 4 704
21 déc. 2014 à 11:58
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 vendredi 1 août 2014 Statut Membre Dernière intervention 1 juillet 2015
24 déc. 2014 à 12:53
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 vendredi 1 août 2014 Statut Membre Dernière intervention 1 juillet 2015
23 janv. 2015 à 10:01
bonjour
j'ai essayé mais ça ne marche pas.
0
jordane45 Messages postés 38296 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 19 novembre 2024 4 704
23 janv. 2015 à 10:30
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 vendredi 1 août 2014 Statut Membre Dernière intervention 1 juillet 2015
23 janv. 2015 à 14:49
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 vendredi 1 août 2014 Statut Membre Dernière intervention 1 juillet 2015
13 févr. 2015 à 11:20
je suis toujours sur le probleme
0