【发布时间】:2011-09-08 00:37:50
【问题描述】:
我有两张桌子: 项目:
| Item|
A
B
C
用户项:
| UID | Item
1 A
1 C
此循环显示来自表 Items 的数据:
$data = mysql_query("SELECT * FROM `Items`ORDER by `Icons` ASC");
while($row = mysql_fetch_array( $data ))
{
echo $row['Item'];
echo "Unlock";
}
如果 UID = $uid 的用户拥有该项目,基本上我需要显示 Unlocked 而不是 Unlock。
此查询获取用户项目:
$data = mysql_query("SELECT * FROM `userItems` WHERE `UID` = '$uid'");
我相信解决方案是左连接,但我不知道该怎么做。我怎样才能让它发挥作用?
【问题讨论】:
-
你为什么要从
Items表中查询呢?userItems中也有Item列。 -
我可以在注册时将所有项目插入
userItems并添加另一列,但如果我以后想添加新项目,使用不同的表会更容易。 -
@zerkms 我认为
Items表中的内容不仅仅是单列,例如Icons -
@Phil:那就是个坏例子 ;-) 程序员解决问题,而不是做出预测