gpt4 book ai didi

php - PDO - 在表中仅显示 1 个结果,并非所有结果都具有相同的 ID

转载 作者:行者123 更新时间:2023-11-30 21:24:50 26 4
gpt4 key购买 nike

目前我的 MySQL 数据库中有 2 个具有相同 user_id 的结果,我想在我的 HTML table 中使用 PDO 回显所有结果,但它每次只显示 1 个结果,而不是全部。

<?php
$querytest = "SELECT o.output_valu,
p.amount,
p.amount_all,
p.order_id,
p.datetime
FROM allusers a
INNER JOIN order_history o
ON a.account_number = o.account_number
INNER JOIN paymentall p
ON o.output_vl_id = p.output_vl_id
WHERE a.account_number = :account_num
ORDER BY p.datetime";
$statementtest = $conn->prepare($queryoutgo);
$statementtest->bindParam(':account_num', $account_num);
$statementtest->execute();
$test_result = $statementtest->fetchAll();
foreach ($test_result as $row) {
$outputtest = $row['output_valu'];
}
?>
<table>
<tr>
<th>Test</th>
</tr>
<tr>
<td><?php echo $outputtest; ?></td>
</tr>
</table>

使用 print_r($test_result); 它在 array 中显示了我的 2 个 results,但为什么不使用我的代码?我过去一直使用 mysqli 而不是 PDO,也许这里有人可以帮助我 :)

最佳答案

在您的 foreach block 中,您每次迭代都会覆盖 $outputtest。这意味着只会显示最后的结果。根据您是想在单独的行中显示每个结果,还是想在一个单元格中显示所有结果,您应该在 foreach 中创建单元格或将所有结果连接在一起。

编辑:我想你想要的是:


$querytest = "SELECT o.output_valu, p.amount, p.amount_all, " .
"p.order_id, p.datetime " .
"FROM allusers a inner join order_history o " .
"ON a.account_number = o.account_number " .
"INNER JOIN paymentall p " .
"ON o.output_vl_id = p.output_vl_id " .
"WHERE a.account_number =:account_num " .
"ORDER BY p.datetime ";
$statementtest = $conn->prepare($queryoutgo);
$statementtest->bindParam(':account_num', $account_num);
$statementtest->execute();
$test_result = $statementtest->fetchAll();

?>
<table>
<tr>
<th>Test</th>
</tr>
<?php foreach($test_result as $row) { ?>
<tr><td><?= $row['output_valu']; ?></td></tr>
<?php } ?>
</table>

关于php - PDO - 在表中仅显示 1 个结果,并非所有结果都具有相同的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59642286/

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