Requête sql avec un champ imaginaire ?
Bonjour,
J'ai lu sur le forum qu'il était possible de faire une requête sql avec un champ imaginaire, pas présent dans ma table.
Dans mon cas j'aimerai afficher les id des produits où le périmètre (area) est inférieur à ce qui est rentré par l'utilisateur :
Ma fonction :
Code:
1 2 3 4 5 6 7 8
| public static function getDist($lat1, $lng1, $lat2, $lng2, $area) {
$query = 'SELECT DISTINCT ps_activiteproduct.id_product, (6366*ACOS(COS(RADIANS(' . $lat1 . '))*COS(RADIANS(' . $lat2 . '))*COS(RADIANS(' . $lng2 . ')-RADIANS(' . $lng1 . '))+SIN(RADIANS(' . $lat1 . '))*SIN(RADIANS(' . $lat2 . ')))) AS area
FROM ps_activiteproduct, ps_activite
WHERE ps_activiteproduct.id_activite=ps_activite.id_activite
AND area <= ' . $area . '
ORDER BY area ASC';
return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query);
} |
Mais j'ai cette erreur :
Unknown column 'area' in 'where clause'
SELECT DISTINCT ps_activiteproduct.id_product, (6366*ACOS(COS(RADIANS(47.218371))*COS(RADIANS(46.8208))*COS(RADIANS(-1.88706)-RADIANS(-1.553621))+SIN(RADIANS(47.218371))*SIN(RADIANS(46.8208)))) AS area
FROM ps_activiteproduct, ps_activite
WHERE ps_activiteproduct.id_activite=ps_activite.id_activite
AND area <= 12
ORDER BY area ASC
Merci d'avance.