0

StackOverflow メンバーの皆様、こんにちは。

友人のコードを修正しようとしていますが、うまくいきません。一歩進めましたが、正確な順序ではありません。最初に説明させてください。

マッチシステムを作りたい。ただし、ユーザーベースではなく、実際の部屋ベースで。一致は、最大家賃、最小平方メートル、および選択した都市によって行われます。

これで、すべてのユーザーを出力する次のコードが作成され、部屋が一致しました。

$members = $db->query("Select g.gFirstname, g.gLastname,g.gEmail, v.vMeter, v.vMaxrent, v.vWhen, v.vCity From users as g LEFT JOIN users_pref as v ON(g.gId=v.vGid)");

$count = $members->num_rows;

while($fetch = $members->fetch_assoc()){
    echo '<br /><br />';
    echo 'Rooms found for: <strong>'.stripslashes($fetch['gFirstname']).' '.stripslashes($fetch['gLastname']).'</strong><br /><br />';
    $selectKamers = $db->query("Select * From rooms Where kWhen >= ".$fetch['vWhen']." AND kCity = ".$fetch['vCity']." AND kMeter >= '".$fetch['vMeter']."' AND kMaxrent <= ".$fetch['vMaxrent']."");

    while($kamer = $selectKamers->fetch_assoc()){
        echo '<h1>'.$kamer['kStreet'].' '.$kamer['kHomenumber'].'</h1>';
    }
}

私が言ったように、このコードは最初にすべてのユーザーを表示し、各ユーザーの下の列に、ユーザーが適用したすべての部屋を表示します。

今問題はです。すべてのルームを表示する関数を作成し、その下にそのルームに一致するすべてのユーザーを表示したいと考えています。

多分それは洞察力の欠如のためかもしれませんが、誰かが私がこれを達成しようとする方法で私を助けることができますか?

私のデータベーステーブルは次のとおりです。

--users
gId | gFistname | gLastname | gEmail
1   | Bob       | Hope      | Email
2   | John      | Doe       | Email

--users_pref
vGid | vMeter | vMaxrent | vWhen  | vCity
1    | 10     | 400      | time() | cityId
2    | 20     | 500      | time() | cityId

--rooms
kWhen  | kStreet | kHomenumber | kMeter | kMaxrent | kCity 
time() | street  | 100         | 15     | 300      | cityid
time() | street  | 200         | 25     | 400      | cityid

説明をできる限り完全にするように努めましたが、何か見落としがある場合はお知らせください。

よろしくお願いします!

ケビン。

4

1 に答える 1