J'ai un problème dans ma requête qui ne marche pas. C'est pour la barre de recherche.
J'ai l'erreur suivante: "Erreur dans la requête SELECT A.* ,C.id, C.nom_fr AS nom FROM annonces A LEFT JOIN categories C ON C.id = A.id_categorie WHERE..."
Voici le code:
Code : Tout sélectionner
function getSearch($q, $id_categorie, $villes){
global $bdd;
$sql_lang = (!empty(($_SESSION['lang']) && in_array($_SESSION['lang'], ['fr','en','es']) ))? $_SESSION['lang'] : 'fr';
$res = [];
$sql = 'SELECT A.*
,C.id, C.nom_'.$sql_lang.' AS nom
FROM annonces A
LEFT JOIN categories C ON C.id = A.id_categorie
WHERE (A.titre LIKE "%'.$q.'%"
OR nom LIKE "%'.$id_categorie.'%"
OR A.ville LIKE "%'.$villes.'%"
)
ORDER BY created_date DESC';
try {
$req = $bdd->prepare($sql);
$req->execute();
$res = $req->fetchAll(PDO::FETCH_ASSOC);
} catch (Exception $e) {
echo "Erreur dans la requête " . $sql;
}
// le temps des tests pour voir le résultat
return $res;
}
Code : Tout sélectionner
$id_categorie= isset($_GET['categorie'])? trim($_GET['categorie']) : null;