表1: id(自动增量) 用户名 类
表2: id(自动增量) 项目名称 类
我有2个查询。
1个查询显示用户(已登录)所属的类别:
$sql = "SELECT * FROM table1 WHERE '$login_session' = username";
我可以列出每条记录:
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "category: " . $row["category"]. "<br>";
}
工作正常。
我的第二个查询取决于第一个查询。我需要在上一个查询中列出table2中所有类别属于数组类别的记录。
$sql2 = "SELECT * FROM table2 WHERE category = I DO NOT KNOW WHAT TO PUT HERE";
如何编写$ sql2?
答案 0 :(得分:4)
一种方法使用in
:
SELECT *
FROM table2
WHERE category IN (SELECT category FROM table1 WHERE '$login_session' = username");
答案 1 :(得分:1)
您可以使用IN()
$sql = 'SELECT * FROM table2 WHERE category IN ('"' . implode('","', $arrayOfCategories).'"')'