真的不想问这个,因为我确信它很简单,但是:
我有一个用户数据库,其中包括邮政编码(邮政编码)和出生日期的字段。
访问者可以按年龄和到他们自己位置的距离来搜索用户。为此,我必须选择所有用户,然后计算他们的年龄,然后计算他们的距离,如下所示:
$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
我希望这是有道理的。谢谢