私はそれが単純だと確信しているので、本当にこれを尋ねたくありませんでしたが:
郵便番号 (郵便番号) と生年月日のフィールドを含むユーザーのデータベースがあります。
訪問者は、年齢と自分の場所までの距離でユーザーを検索できます。これを行うには、すべてのユーザーを選択し、年齢を計算し、距離を計算する必要があります。次のようになります。
$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
それが理にかなっていることを願っています。ありがとう