我的代码现在就是这个
$extract = mysqli_query($dbc, "SELECT * FROM items");
$numrows = mysqli_num_rows($extract);
while($row = mysqli_fetch_assoc($extract)) {
$id = $row['i_id'];
$iname = $row['i_name'];
echo "<tr><td><a href='capture.php?item_id=$id'>$iname</a></td><td>Incomplete</td></tr>";
}
我想要做的是检查项目是否已经完成。 我有一个单独的表包含信息,例如说项目1已经完成然后我希望能够将我的回声改为:
echo "<tr><td>$iname</td><td>Complete!</td></tr>";
我将如何做到这一点?我是否需要使用某种形式的连接声明?
我希望能够显示表中的所有项目但不能重复它们我最初认为回声上的if语句是否完成,然后执行此操作
以下是两个表
Items item_collection
------ ---------------
i_id i_id
i_name complete
caption
image
c_id
g_id
答案 0 :(得分:2)
您可以使用这样的连接条件(假设complete是varchar字段)
SELECT a.i_id, a.i_name,
CASE WHEN i_status = '1' THEN 'Complete!' ELSE 'Incomplete' END AS complete_status
FROM items a
LEFT OUTER JOIN item_collection b ON a.i_id = b.i_id
答案 1 :(得分:1)
select
case
when ic.complete = 1 then 'Complete'
else 'Incomplete'
end as item_status
from items i
left join item_collection ic on i.i_id = ic.i_id
where i.i_name = 'your_item_name'
当项目完成时假设ic.complete = 1。
答案 2 :(得分:0)
SELECT * FROM table1 WHERE table1.id not within(SELECT Id FROM table2)