gpt4 book ai didi

php - 通过 PHP/PDO 从 MySQL 数据库中选择不同的行

转载 作者:行者123 更新时间:2023-11-29 00:36:19 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
How to prevent SQL injection in PHP?
Select distinct rows from MySQL Database

您好,我有一个 phonegap 应用程序,可以在检测到路面变形(例如坑洼和减速带)时存储纬度、经度、地址和严重程度。

到目前为止,通过 PHP PDO 将这些保存在数据库中完全不是问题。 PDO 的设计方式是,如果报告的坑洞已经报告了 10 次(检查数据库中 15 米范围内的任何条目),则不会报告(即再次插入数据库)。此外,加载表面变形也不是问题,我使用 Haversine 公式来执行此操作,我在其中传递用户的纬度和经度并获得一定距离内的值。

$stmt = $dbh->prepare("
SELECT
lat, lng,
( 6378160 * acos( cos( radians(?) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(?) ) + sin( radians(?) ) * sin( radians( lat ) ) ) ) AS distance
FROM myTable
HAVING distance > 0
ORDER BY distance
LIMIT 0 , 30
");

我遇到的问题是,由于同一个坑洞可以报告 10 次,我最终将同一个坑洞报告回应用程序以在 map 上绘制图表 10 次。我需要做的是,获取与用户一定距离内的坑洼列表(使用 haversine 公式完成),然后从这个列表中过滤坑洼,以便我只得到不同的坑洼而不是相同的坑洼坑洞被退回 10 次。任何人都知道我如何进行这种过滤?任何人都可以告诉我如何在 PHP/PDO 中执行此操作或指出一些类似的教程(如果可用)吗?

这是我需要做的简要说明:假设我在坑洼 A 和坑洼 B 附近,并说我在数据库中有 6 个坑洼 A 报告和 8 个坑洼 B 报告(依此类推)。通过使用 haversine 公式,我得到了坑洞 A 和坑洞 B 的所有报告值(即 14 个结果)。我需要的是获得坑洼 A 报告的中点和坑洼 B 报告的中点(使用:http://www.geomidpoint.com/calculation.html)并返回 2 个结果(一个用于 A,一个用于 B)而不是 14 个结果。

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