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 -
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.
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 styleBonjour,
A voir également:
- Moteur de recherche ne fonctionne pas
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Google moteur de recherche page d'accueil - Guide
- Copernic moteur de recherche - Télécharger - Navigateurs
- Copiez la ligne qui indique aux moteurs de recherche de ne pas référencer la page. - Forum Réseaux sociaux
- Pourquoi mon moteur de recherche change tout seul ✓ - Forum Réseaux sociaux
5 réponses
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 :
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...
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; }
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é.
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 }?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question