在这里,我选择所有主题,然后使用'echo $ categories'一次显示所有行。我想这样做,所以echo $ categories将回显第一行数据,然后如果我再次键入echo $ categories,它将回显第二行数据等。我对如何做到这一点有任何想法?感谢
<?php
$result = mysqli_query($DBconnect, "SELECT * FROM categories ORDER BY category_title ASC");
$categories = "";
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) {
$id = $row['id'];
$title = $row['category_title'];
$description = $row['category_description'];
$categories .= "<br><a href='view_category.php?cid=" . $id . "'>" . $title . " </a>- " . $description . "</a>";
}
}
echo $categories;
?>
答案 0 :(得分:1)
在循环之前声明数组类别
var $categories = array();
然后,在循环内部将包含所有数据的html字符串添加到数组类别
$categories[] = "<br><a href='view_category.php?cid=".$id."'>".$title." </a>- ".$description."</a>";
稍后访问您想要的类别:
echo $categories[0];
echo $categories[1];
等等...
答案 1 :(得分:0)
如果我能正确理解你,你可以尝试以下方法,而不是:
$categories = "";
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) {
$id = $row['id'];
$title = $row['category_title'];
$description = $row['category_description'];
$categories .= "<br><a href='view_category.php?cid=".$id."'>".$title." </a>- ".$description."</a>";
}
}
echo $categories
Becasue $categories .=
将添加到$categories = ''
,它将构建一个字符串。然后,这一切都在echo $categories.
中回响了一次。所以你能做的就是以下几点。它将回显每个categorie
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) {
$id = $row['id'];
$title = $row['category_title'];
$description = $row['category_description'];
echo "<a href='view_category.php?cid=".$id."'>".$title." </a>- ".$description."</a><br>";
}
}
答案 2 :(得分:0)
你不能这样做。您事先无法知道您有多少类别,因此,您无法手动编写所有这些回声。要从数据库回显数据,循环是唯一正确的方法。