Besoin d'aide - moteur de recherche php/sql

Résolu/Fermé
Chenowith Messages postés 4 Date d'inscription mardi 27 septembre 2011 Statut Membre Dernière intervention 27 septembre 2011 - 27 sept. 2011 à 17:31
Chenowith Messages postés 4 Date d'inscription mardi 27 septembre 2011 Statut Membre Dernière intervention 27 septembre 2011 - 27 sept. 2011 à 19:01
Bonjour à tous,
Je viens de créer un petit moteur de recherche pour mon site en php et sql.
Seulement j'ai un souci lors de l'affichage des résultats de recherche: les résultats ne sont pas filtrés etvient s'afficher à la place toutes les requêtes de ma bdd...?!? Je ne sais pas si je suis assez claire, pardonnez-moi, je débute dans ce domaine là...:)
Voici le code :

<?php
if(!empty($_POST) && !empty($_POST['search']))
{
	extract($_POST);
	$search = strip_tags($search);
	
	try{
	$bdd = new PDO('mysql:host=xxxxx;dbname=xxxxx', 'xxxxx', 'xxxxx') or die(print_r($bdd->errorInfo()));
	$bdd->exec('SET NAMES utf8');
	}
	
	catch(Exeption $e){
		die('Erreur:'.$e->getMessage());
	}
	$req = $bdd->query("SELECT titre,contenu,lien FROM articles WHERE titre LIKE '%$Search%' OR contenu LIKE '%$Search%' ORDER BY id");
	
	if($req->rowCount()>0)
	{
		while($data = $req->fetch(PDO::FETCH_OBJ))
	{
		echo '<h2 >'.$data->titre.'</h2>';
		echo '<p>'.$data->contenu.'</p>';
		echo '<p >'.$data->lien.'</p>';
		echo '<hr />';
	}
	}
	else
{
	echo'<h2>Aucun résultat</h2>';
}
}

else
{
	echo'<h2>Aucun résultat</h2>';
}
?>


Ma page php :

<link rel="stylesheet" href="style-search.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"/>
<script>
    $(document).ready(function(){
        $('.loader').hide();
        
        
        $('#search').keyup(function(){
          $field = $(this);
          $('#result').html('');
          
          if($field.val().length>1)
          {
            $.ajax({
              type: 'POST',
              url: 'search.php',
              data: 'search='+$('#search').val(),
              
              beforeSend:function(){
                $('.loader').stop().fadeIn();
              },
              
              success: function(data){
                $('.loader').fadeOut();
                $('#result').html(data);
              }
            });
          }
        });
      });
    </script>
<div id="search">
  <form action="recherche.php" method="post">
    <input type="text" name="search" id="search" />
    <input type='submit' class="boutonsearch" name='search' value='Rechercher' border='0'>
    <div class="loader"></div>
  </form>
  <div id="result"></div>
</div>


Voilà, vous savez tout maintenant !!! Merci pour votre aide précieuse...



A voir également:

2 réponses

bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
27 sept. 2011 à 18:18
Salut!


("SELECT titre,contenu,lien FROM articles WHERE titre LIKE '%$Search%' OR contenu LIKE '%$Search%' ORDER BY id");



je m'interesse à la dernière partie de ta requête ORDER BY id or tu n'as pas sélectionné id dans ta requête!
fais plutôt ceci:


("SELECT id,titre,contenu,lien FROM articles WHERE titre LIKE '%$Search%' OR contenu LIKE '%$Search%' ORDER BY id");



Cdt
0
Chenowith Messages postés 4 Date d'inscription mardi 27 septembre 2011 Statut Membre Dernière intervention 27 septembre 2011 1
27 sept. 2011 à 19:01
J'avais effectivement oublié de mettre id, mais ça n'a malheureusement rien changé à mon problème...
Merci quand même bissedebrazza
0