我正在尝试连接两个表。第一个表名为“returned”,带有字段(file_id),第二个表名为“file_list”。两个表字段 'file_id' 和 'file_no' 共享相同的值。
文件列表
+---+---------+------------------+-------+
|ID | File ID | File Desc. | Status|
+---+---------+------------------+-------+
|8 | 400/3 | 1 - Test 1 400/3 | |
+---+---------+------------------+-------+
返回表
+---------+-----------------+---------------+-------------+-------------+------------+
| File ID | File NAME | Employee NAME | Date BORROW | Date RETURN |File STATUS |
+---------+-----------------+---------------+-------------+-------------+------------+
| 400/3 | 1 - Test 1 400/3| Syuhada | 2019-06-19 | 2019-06-18 | Returned |
+---------+-----------------+---------------+-------------+-------------+------------+
我正在尝试将状态从返回表发送到 file_list 表
while($result=mysqli_fetch_array($query,MYSQLI_ASSOC))
{
?>
<tr>
<td><div align="center"><?php echo $result["id"];?></div></td>
<td><?php echo $result["file_no"];?></td>
<td><?php echo $result["file_desc"];?></td>
<td>
<div align="center">
<?php
/*$file_ID = "SELECT file_no FROM file_list";*/
$sql = "SELECT * From returned
INNER JOIN file_list
ON returned.file_id = file_list.file_no;";
$resultRet = $dbConn->query($sql);
while($rs=$resultRet->fetch_assoc()){
?>
<?php echo $rs["status"]; ?>
<?php
}
?>
</div>
</td>
最佳答案
由于您只需要返回表中的文件状态,您可以使用以下查询:
$sql = "SELECT * 从返回
WHERE file_id = ". $result["file_no"];
我假设第一个查询从 file_list 表返回行。
当您需要在一个查询中从多个表中获取数据时,Inner Join 非常有用。
如果您仍想使用 JOIN,查询将如下所示:
$sql = "SELECT * From returned
INNER JOIN file_list
ON returned.file_id = file_list.file_no AND returned.file_id = " . $result["file_no"] ;
编辑
使用 Prepared Statements,只有一段代码显示文件状态(有和没有 JOIN)。
<td>
<div align="center">
<?php
$sql = "SELECT * FROM returned
WHERE file_id = ?";
$sql_join = "SELECT * FROM returned
INNER JOIN file_list
ON returned.file_id = file_list.file_no AND returned.file_id = ?";
$stmt = $conn->prepare($sql_join);
$stmt->bind_param("i", $result["file_no"]);
$stmt->execute();
$result = $stmt->get_result();
while($rs = $result->fetch_assoc()) {
echo $rs["status"];
}
$stmt->close();
?>
</div>
</td>
关于php - 如何连接多个表,返回第一个表(file_id),第二个表是file_list(file_no)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56643279/