嗨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
我想如果我错过了什么尽可能完整的与我的解释,请让我知道。
非常感谢提前!
Kevin。
你看到LEFT JOIN? – Strawberry
我不明白第1行的左连接与它有什么关系。我无法将users_pref更改为房间,因为表格用户和房间之间没有连接标识。 – KevinH
什么是首选项表和房间表上的主键? – Strawberry