Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Zipcode搜索,但用户有他们服务的半径_Mysql_Search_Zipcode - Fatal编程技术网

Mysql Zipcode搜索,但用户有他们服务的半径

Mysql Zipcode搜索,但用户有他们服务的半径,mysql,search,zipcode,Mysql,Search,Zipcode,我们有一个网站,用户可以搜索服务提供商(客户寻找服务提供商)。该网站目前有一个MySQL zipcode搜索,在搜索到的zipcode的lat/long点周围进行经典半径搜索,匹配所有lat/long位于搜索到的zipcode半径圆内的zipcode。然后匹配将其地址放入其中一个匹配ZipCode中的所有服务提供商 假设用户正在25英里内搜索服务提供商。距离为50英里的服务提供商通常不会出现在此搜索中。但是,我们希望为服务提供商提供一个选项,以输入他们为之服务的radius。即使他们在50英里之

我们有一个网站,用户可以搜索服务提供商(客户寻找服务提供商)。该网站目前有一个MySQL zipcode搜索,在搜索到的zipcode的lat/long点周围进行经典半径搜索,匹配所有lat/long位于搜索到的zipcode半径圆内的zipcode。然后匹配将其地址放入其中一个匹配ZipCode中的所有服务提供商

假设用户正在25英里内搜索服务提供商。距离为50英里的服务提供商通常不会出现在此搜索中。但是,我们希望为服务提供商提供一个选项,以输入他们为之服务的radius。即使他们在50英里之外,他们的服务半径也可能为100英里——因此该用户将出现在25英里半径的搜索中

基本上是围绕两点画一个半径圆,看看它们是否相交

有什么想法吗?我不知道从哪里开始,也不知道这样做是否可行,甚至是可取的


我们的退路是允许服务提供商输入他们所服务的Zipcode,但这对服务提供商来说有点麻烦。

也许我误解了,但您不是在尝试获取内部连接的结果吗?然后将它们与“25英里”结果结合起来?你想实现这个客户端还是服务器端?我不知道我想要的是内部连接+联合的结果。听起来可能是吧?我想在服务器端使用MySQL和PHP,听起来你只需要在业务在用户半径内或者用户在业务半径内的地方找到结果。在这种情况下,在同一个sql语句中检查这两个语句,如果其中任何一个匹配,则返回结果。你已经用用户半径完成了一半。你真的不需要看这些圆是否相交。仅查看其中一个位置的圆圈是否包含其他位置的邮政编码。您可能需要发布“MySQL zipcode搜索”中的架构或骨架代码,并使用“lat/long周围的半径”点。否则,你最多只能得到一些伪代码……伪代码对我来说没问题,这更像是一个概念性的问题。我想当服务提供商保存他们的个人资料时,我会去做一个zipcode搜索,抓取他们提供的所有zipcode并保存到他们的个人资料中。然后,当用户搜索时,它将查看它是否匹配服务提供商所属的任何zipcodes。对于成千上万的配置文件,我希望尽可能减少前端搜索查询,这样它就不会永远工作。