gpt4 book ai didi

php - 如何使用 php 迭代整个 mysql 表

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

我想遍历mysql表的所有记录。这是我的 table 的样子

enter image description here

所以我想打印出用户的姓名和他们发布的帖子的主题。我有另一个用户表。这是我的 php 代码。

require_once('config.php');
// build SQL query
$sql ="SELECT user_id, subject FROM post";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);

foreach ($row as $k => $v) {
if($k == 'user_id'){

$uid = $v;
$sql2 ="SELECT '$db', username FROM users WHERE user_id='$uid'";
$result2 = mysqli_query($conn, $sql2);
$row2 = mysqli_fetch_row($result2);
echo $row2[1]. " posted ";

}
if ($k == 'subject') {

echo "<a href='#'> $v </a>";
}
}

我正在使用 user_id 来查找其他表中的用户。这里几乎是一个菜鸟。但是我只得到一个输出。 enter image description here

但是应该有 2 个输出。因为我的帖子表包含 2 个不同用户发布的 2 个帖子。我只得到第一篇文章作为输出。有人可以指出我正确的方向吗?另外我如何迭代 SQL 表中的所有记录。

最佳答案

如果您希望查询返回超过 1 个结果,则应在 while 循环中调用 mysqli_fetch_assoc

此外,您还可以使用 JOIN 查询在单个查询中返回所有数据:

$sql = "SELECT post.subject, users.username 
FROM post JOIN users
ON post.user_id = users.user_id";
$result = mysqli_query($conn, $sql);
while($row = mysqli_fetch_assoc($result)){
echo sprintf("<p>%s posted <a href='#'>%s</a></p>", $row['username'], $row['subject']);
}

关于php - 如何使用 php 迭代整个 mysql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33745039/

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