我有一种方法可以查询所选表中的前5个项目,并将每一行添加到列表中。当我尝试从此方法创建有序列表时,它列出了10个项目而不是5个项目。每次迭代时,一条正确的行和一条空白的行。我已经尝试了类中的方法和类之外的函数,但是结果是相同的。
这是我的方法:
/**
* @return array
*/
public function top_list(): array {
/* @var mysqli_result $result */
$sql = "SELECT name FROM users ORDER BY performance DESC LIMIT 5";
$result = self::$database->query($sql);
if (!$result) {
exit("Database query failed.");
}
$list = [];
while ($record = $result->fetch_assoc()) {
$list[] = $record;
}
$result->free();
return $list;
}
这是我的订购清单:
$user = new User();
foreach ($user->top_list() as $item) {
echo "<li>";
echo $item["name"];
echo "<li />";
}
答案 0 :(得分:6)
echo "<li />";
应该是
echo "</li>";
您没有正确关闭列表标签,并且HTML渲染器正在尝试为其看到的每个<li />
创建一个新的列表项。