C'est ma requête (Mysql)Pourquoi cette requête (Mysql) ne fonctionne pas?
$query_Search = 'SELECT ID, Titre , Categorie, Description, Province , Com_Territ, Type_Annonce, Prix, Devise, Date, State
FROM articles
WHERE Titre LIKE \'%' . safe($_POST['q']) . '%\' OR Categorie LIKE \'%' . safe($_POST['q']) . '%\'
ORDER BY CASE WHEN Titre LIKE \'' . safe($_POST['q']) . '%\' THEN 0
WHEN Titre LIKE \'%' . safe($_POST['q']) . '\' THEN 1
ELSE 2 END';
Je veux ajouter une condition dans la clause WHERE, ma condition est (WHERE Etat = '3') et je le fais comme ceci:
$query_Search = 'SELECT ID, Titre , Categorie, Description, Province , Com_Territ, Type_Annonce, Prix, Devise, Date, State
FROM articles
WHERE State='3' AND Titre LIKE \'%' . safe($_POST['q']) . '%\' OR Categorie LIKE \'%' . safe($_POST['q']) . '%\'
ORDER BY CASE WHEN Titre LIKE \'' . safe($_POST['q']) . '%\' THEN 0
WHEN Titre LIKE \'%' . safe($_POST['q']) . '\' THEN 1
ELSE 2 END';
cette requête affiche des résultats cinque États non égal à 3, il semble que ne se soucie pas de la condition (WHERE Etat = « 3 »)
Eh bien .. vous avez quelques 'OR's là aussi .. Merci – putvande