如何一次一个地回显从数据库中选择的数据?

时间:2015-09-24 15:42:26

标签: php mysqli

在这里,我选择所有主题,然后使用'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;

?>

3 个答案:

答案 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)

你不能这样做。您事先无法知道您有多少类别,因此,您无法手动编写所有这些回声。要从数据库回显数据,循环是唯一正确的方法。