gpt4 book ai didi

php - 如何连接多个表,返回第一个表(file_id),第二个表是file_list(file_no)?

转载 作者:行者123 更新时间:2023-11-29 07:20:13 25 4
gpt4 key购买 nike

我正在尝试连接两个表。第一个表名为“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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com