gpt4 book ai didi

php - 从mysql显示内容只返回一条记录

转载 作者:太空宇宙 更新时间:2023-11-03 12:01:32 26 4
gpt4 key购买 nike

我使用这段代码从 mysql 中检索与 usertype="user"行关联的所有记录

class user{
public function getnews(){
$sql5 = "SELECT * FROM news WHERE usertype = 'user'";
$result = mysqli_query($this->db,$sql5);
$data = '';
while($row = mysqli_fetch_assoc($result)){
$data = '<article>';
$data .= '<h3>' . $row['title'] . '</h3>';
$data .= '<p>' . $row['content'] . '</p>';
$data .= '<footer>By: ' . $row['whoposted'] . ' / ' . $row['dateposted'] . '</footer>';
$data .= '</article>';
}
echo $data;
}
}

然后显示记录。

$user = new user();

$user->getnews()

我的数据库结构是。

id, title, content, whoposted, dateposted, usertype.

并假设我有一个用户类型为“admin”的记录

id=autoincrement, title="this is the title", content="this is the content", dateposted="2015/03/08", usertype="admin"

和 5 条具有 usertype="user"的记录

id=autoincrement, title="this is the title", content="this is the content", dateposted="2015/03/08", usertype="user"

现在,正如您从我的 mysql 查询中看到的那样,我想获取所有具有 usertype="user"的记录并且它应该显示所有记录,除了一条具有 usertype="admin"的记录但它只显示一条记录。

有人知道我的代码有什么问题吗?

任何帮助将不胜感激。谢谢!

最佳答案

您需要在循环外声明 $data,您在循环内进行操作,因此在每个循环内它都会被覆盖,您将获得最后一个值。

$data = '';
while($row = mysqli_fetch_assoc($result)){
$data .= '<article>';
$data .= '<h3>' . $row['title'] . '</h3>';
$data .= '<p>' . $row['content'] . '</p>';
$data .= '<footer>By: ' . $row['whoposted'] . ' / ' . $row['dateposted'] . '</footer>';
$data .= '</article>';
}

关于php - 从mysql显示内容只返回一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28924958/

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