Bonsoir,
ca fais deux jours que je cherche comment résoudre ce problème mais sans résultat (j'ai essayer plusieurs méthode remplacé like par une autre expression, ajouté binary rien)
quand je cherche un mot en majuscule ou avec accent par exemple MM ou aidé dans ma base j'ai aucun résultat (alors que dans ma table j'ai ce mot), quelqu'un peut m'aider svp c'est vraiment très urgent
Merci beaucoup
<?php
if(isset($_GET['recherche']))
{
$rec = htmlentities($_GET['recherche']);
}
else
{
$rec = 'Search';
}
//On determine le type de recherche
if(isset($_GET['type']))
{
if($_GET['type']=='un')//Un des mots
{
$type = 1;
}
elseif($_GET['type']=='tout')//Tout les mots
{
$type = 2;
}
else//L'expression exacte
{
$type = 3;
}
}
else
{
$type = 1;//type par defaut: L'expression exacte
}
//On determine si on doit surligner les mots dans les resultats
if(!isset($_GET['surligner']) or $_GET['surligner']!='true')
{
$surligner = false;
}
else
{
$surligner = true;
}
function NoAccentFeed($rec, $EncIn = 'CP1252'){
return iconv($EncIn, 'ASCII//TRANSLIT//IGNORE', $rec);
}
//On dertermine les identifiants, les noms et les informations des utilisateur
$req = 'SELECT sujet, specialite, rapport FROM specialite WHERE BINARY ';
if($type==1)
{//ayant un des mots dans leurs informations
$mots = explode(' ',$rec);//En separre lexpression en mots cles
foreach($mots as $mot)
{
$req .= ' sujet LIKE "%'.$mot.'%" OR';
}
$req .= ' 1=0';
}
elseif($type==2)
{//ayant tout des mots dans leurs informations
$mots = explode(' ',$rec);//En separre lexpression en mots cles
foreach($mots as $mot)
{
$req .= ' sujet LIKE "%'.$mot.'%" AND';
}
$req .= ' 1=1';
}
else
{//ayant l'expression exacte dans leurs informations
$req .= 'sujet LIKE "%'.$rec.'%"';
}
//Les utilisateur seront ranges par identifiant en ordre croissant
$req .= ' order by sujet asc';
$requete = mysql_query($req);
//Le formulaire de recherche
?>
<center>
<form action="" method="get" >
<td>
Expression à rechercher: <input type="text" name="recherche" value="<?php echo $rec; ?>" /><br /><br /><br />
Type de recherche: <input type="radio" name="type" value="un"<?php if($type==1){echo 'checked="checked"';} ?> /> Un des mots <input type="radio" name="type" value="tout"<?php if($type==2){echo 'checked="checked"';} ?> /> Tout les mots <input type="radio" name="type" value="exacte"<?php if($type==3){echo 'checked="checked"';} ?> /> Expression exacte<br /><br /><br />
Mettre en gras les mots recherchés: <input type="checkbox" name="surligner" value="true" <?php if($surligner){echo 'checked="checked"';} ?> /><br /><br /><br />
<input type="submit" value="Rechercher" />
</form>