Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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
Php 与mysql中的值和排序进行比较_Php_Mysql - Fatal编程技术网

Php 与mysql中的值和排序进行比较

Php 与mysql中的值和排序进行比较,php,mysql,Php,Mysql,我有一个如下所示的mysql表 userid zip 3 1000 4 1001 5 1002 6 1003 我想显示登录用户附近的用户。考虑登录用户的用户标识之一是5,我想显示如下的结果。ie显示用户ID而不是登录用户的用户ID,并首先对最近的zipcode进行排序 userid zip 6 1003 4 1001 3 1000 如果您的邮政编码保持不变,只需使用子字符串返回最后一个字符+/-1/2/3

我有一个如下所示的mysql表

userid  zip
3       1000
4       1001
5       1002
6       1003
我想显示登录用户附近的用户。考虑登录用户的用户标识之一是5,我想显示如下的结果。ie显示用户ID而不是登录用户的用户ID,并首先对最近的zipcode进行排序

userid  zip
6       1003
4       1001
3       1000

如果您的邮政编码保持不变,只需使用子字符串返回最后一个字符+/-1/2/3的邮政编码

其中zipcode!='yourzip'和zipcode类似('xxx%')

如果返回许多类似的结果,则可以添加一列,在该列中按此字段对您的ZIP和order进行zipcode。所以你会得到一些接近信息

您可以使用

select usersid,zip from users_location(name of your table )where userid!=(your user id) order by ZIP DESC

按邮政编码排序
?如果表中有上千个条目,而您选择的某个用户的邮政编码几乎位于表的中间,该怎么办?您应该花时间对最近的邮政编码进行排序。例如,在德国,按邮政编码排序会给出结果100010011003。但是我想要结果100310011000,因为1003接近1002
1002-1001=1
1003-1002=1
您将如何决定
1003
接近
1002
而不是
1001