1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
if(isset($_GET['rech']))
{
if($_GET['rech']=='')
{
echo"<h1>Recherche</h1>";
echo"Veuillez saisir un critère de recherche";
}
elseif(strlen($_GET['rech'])<2)
{
echo"<h1>Recherche</h1>";
echo"Veuillez saisir un critère de recherche de plus de 2 caractères";
}
else
{
$recherche = $_GET['rech'];
if ($recherche==" ")
{
echo"vous n'avez pas entré de mot clé." ;
}
else
{
echo"<h1>Recherche de : ".$recherche."";
$db=mysql_connect(SERVEUR,login,pwd);
mysql_select_db(base,$db) ;
if(isset($_GET['all']))
{
$operateur="and";
echo " (tous les mots)</h1><br>";
}
else
{
$operateur="or" ;
echo " </h1><br>";
}
// on passe les mots recherchés en minuscules
$recherche = strtolower($recherche);
// on remplace les ' + , : par des espaces
$mots = str_replace('+', ' ', trim($recherche));
$mots = str_replace('\'', ' ', $mots);
$mots = str_replace(',', ' ', $mots);
$mots = str_replace(':', ' ', $mots);
// on place les differents mots dans un tableau
$tab = explode(' ' , $mots);
//on compte le nbr d'élément du tableau.
$nb = count($tab);
//on prépare la requête SQL.
$sql="select * from tes_ou_ta_table where ((champ1 like '%$tab[0]%' or champ2 like '%$tab[0]%' or champ3 like '%$tab[0]%'";
// on boucle pour integrer tous les mots dans la requête
for($i = 1; $i < $nb; $i++)
{
$sql .= "".$operateur." ( champ1 like '%$tab[$i]%' or champ2 like '%$tab[$i]%' or champ3 like '%$tab[$i]%'";
}
$sql.=" ) order by identifiant";
// on execute la requête SQL.
$result = mysql_query($sql,$db); |
Partager