gpt4 book ai didi

php - 基于以前改进的 MySQL 查询从 MySQL 中选择

转载 作者:行者123 更新时间:2023-11-29 04:01:56 25 4
gpt4 key购买 nike

真的不想问这个,因为我确定它很简单但是:

我有一个用户数据库,其中包含邮政编码 (zipcode) 和出生日期字段。

访问者可以按年龄和到他们所在位置的距离搜索用户。为此,我必须选择所有用户,然后计算他们的年龄,然后计算他们的距离,如下所示:

$result = queryMysql("SELECT user FROM table WHERE user !='$user' ORDER BY joindate DESC ");
$num = mysql_num_rows($result);

for ($j = 0 ; $j < $num ; ++$j)
{
$row = mysql_fetch_row($result);
if ($row[0] == $user) continue;

$query = "SELECT * FROM table WHERE user='$row[0]'";
$res=mysql_query($query);
$users=mysql_fetch_assoc($res);

//Get Date of Birth and Calculate Age
$dob = $users['age'];
$age = ...

//Get Profile's Postcode and Calculate Distance
$profilepc = $views['postcode'];
$distance = ...

if(($distance <200) AND ($age >18 AND <30)) {

}

到目前为止,没问题。但是我然后想运行另一个查询(用于分页)只选择那些符合访问者设置的年龄和距离参数的用户,我可以在上面的 IF 语句中回显,但我不知道如何包含在新查询。

那么,我如何将第一个查询的结果放入某些东西(一个数组?),然后使用第一个查询中的 user_id(唯一的)来只选择我的分页所需的用户?像这样的东西:

SELECT * FROM $table WHERE user_id=(filtered user_id's) ORDER BY joindate DESC 

我希望这是有道理的。谢谢

最佳答案

使用 IN 而不是 =

SELECT * FROM $table
WHERE user_id IN (select user_id from other_table where some_condition)
ORDER BY joindate DESC

关于php - 基于以前改进的 MySQL 查询从 MySQL 中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13166911/

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