php - SQL查询从两个表中抓取数据

标签 php mysql sql join

我现在的代码是这样的

$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 更改为类似的内容:

 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

最佳答案

您可以像这样使用连接条件(假设 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

关于php - SQL查询从两个表中抓取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16047241/

相关文章:

php - 计数函数不计算数据库表中的所有行

mysql - 无法在 MacOS Sierra 上安装 "mysql gem"

sql - 计算工作类次,给出 sybase 中的当前日期时间

sql - Postgresql 从包含数组的表中选择与数组中一样多的行

php - Mysql:每个socket地址的用法

javascript - 在 javascript 脚本中执行 php 脚本

php - SQL 查询未在 PHP 中运行,可能是与 SQL 相关的问题

mysql - 破译我与 mysql 语句的匹配

sql - Mysql查询问题

php - 提取闪烁视频缩略图