gpt4 book ai didi

php - PHP 和 Mysql 条件查询

转载 作者:行者123 更新时间:2023-11-29 09:08:24 25 4
gpt4 key购买 nike

我有这个查询

$query = sprintf("SELECT price,
address,
state,
thumbnail,
name,
provider,
category,
latitude,
longitude,
( 6371 * acos( cos( radians('%s') ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( latitude ) ) ) ) AS distance
FROM records
WHERE category IN ("1,2,3")
AND active = '1'
HAVING distance < '%s'
ORDER BY distance",
mysql_real_escape_string($center_lat),
mysql_real_escape_string($center_lng),
mysql_real_escape_string($center_lat),
mysql_real_escape_string($radius));

它基本上从 Deals 表中获取坐标并计算这些点与用户输入的坐标 ($center_lat,lng) 之间的距离。然后它根据距离对其进行排序。

数据库中的某些记录没有经度和纬度,因此不会返回,没有坐标的记录的坐标 = '0',而有坐标的记录的坐标 = '1' .

我的问题是,如果我还想返回没有坐标的记录怎么办?如果坐标 = '0',如何绕过距离计算过程。

最佳答案

在“HAVING”部分添加另一个子句:

SELECT ...
HAVING ((distance < 1) or (coordinates = 0)) AND $price
...

关于php - PHP 和 Mysql 条件查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6400711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com