par
damien_55 » 10 oct. 2013, 21:21
Je crois avoir trouvé, je vais partir de ce script et le retravaillé voir si ça marche:
$titre_keyword = explode(" ",$_TITRE); //$_TITRE est le titre de l'article en cours
$cpt=0;
foreach($titre_keyword as $k => $v ) {
if (strlen($v)>5) { // On n'utilise que les mots de plus de 5 lettres
if ($cpt !=0) {
if($cpt ==1) { $q .=" AND ("; }else{ $q .=" OR "; } //Le premier mot sera obligatoire le reste facultatif)
}
$q .= "post_titre LIKE '%".$v."%' " ;
$cpt++;
}
}
if((ereg("OR",$q)) OR (ereg("AND",$q))) $q .=")"; // Fermeture de la parenthèse si on a trouvé au moins un mot de plus de 5 lettres)
$sql = "SELECT DISTINCT post_titre_url, post_titre, cat_id FROM content_post WHERE cat_id='6' AND post_lang='$_LANG' AND post_selected = '0' AND post_pub='1' AND post_titre_url != $_URL_ARTICLE AND ( $q ) ORDER BY post_id DESC LIMIT 0, 10 ";
Je crois avoir trouvé, je vais partir de ce script et le retravaillé voir si ça marche:
[php]$titre_keyword = explode(" ",$_TITRE); //$_TITRE est le titre de l'article en cours
$cpt=0;
foreach($titre_keyword as $k => $v ) {
if (strlen($v)>5) { // On n'utilise que les mots de plus de 5 lettres
if ($cpt !=0) {
if($cpt ==1) { $q .=" AND ("; }else{ $q .=" OR "; } //Le premier mot sera obligatoire le reste facultatif)
}
$q .= "post_titre LIKE '%".$v."%' " ;
$cpt++;
}
}
if((ereg("OR",$q)) OR (ereg("AND",$q))) $q .=")"; // Fermeture de la parenthèse si on a trouvé au moins un mot de plus de 5 lettres)
$sql = "SELECT DISTINCT post_titre_url, post_titre, cat_id FROM content_post WHERE cat_id='6' AND post_lang='$_LANG' AND post_selected = '0' AND post_pub='1' AND post_titre_url != $_URL_ARTICLE AND ( $q ) ORDER BY post_id DESC LIMIT 0, 10 ";[/php]