0

我试图在 php 页面中显示 MySQL 数据库表中的所有条目,但由于某种原因,它只显示最新的。我认为目前有 10 个条目,尽管还会有更多。

这是我的代码:

<?php 

//connect to the server
$connect = mysql_connect("localhost","...","...");

//connect to the database
mysql_select_db("blog");

//query the database
$query = mysql_query("SELECT * FROM articles");

//fetch the results / convert results into an array

WHILE($rows = mysql_fetch_array($query)):

$article_id = $rows['article_id'];
$article_title = $rows['article_title'];
$article_content = $rows['article_content'];
endwhile;

echo "$article_id $article_title<br>$article_content<br><br><br>";

?>

有人有什么想法吗?

4

3 回答 3

7

您的代码是正确的,但是您似乎只是在回显结果中的最后一项。将您的回声移动到您的 WHILE 循环中以打印出所有行。就像是:

while($rows = mysql_fetch_array($query)) {

$article_id = $rows['article_id'];
$article_title = $rows['article_title'];
$article_content = $rows['article_content'];

echo "$article_id $article_title<br>$article_content<br><br><br>";

}

否则将重置各种文章变量,仅输出最后一个。通过修改,对于每一行,您将获得一个输出。

于 2013-09-16T19:14:08.887 回答
2

改变这个

WHILE($rows = mysql_fetch_array($query)):

$article_id = $rows['article_id'];
$article_title = $rows['article_title'];
$article_content = $rows['article_content'];
endwhile;

echo "$article_id $article_title<br>$article_content<br><br><br>";

进入这个

WHILE($rows = mysql_fetch_array($query))
{
$article_id = $rows['article_id'];
$article_title = $rows['article_title'];
$article_content = $rows['article_content'];

echo "$article_id $article_title<br>$article_content<br><br><br>";
}
于 2013-09-16T19:14:42.103 回答
1

您在 WHILE 循环之外回显。

更正:

WHILE($rows = mysql_fetch_array($query)):

$article_id = $rows['article_id'];
$article_title = $rows['article_title'];
$article_content = $rows['article_content'];
echo "$article_id $article_title<br>$article_content<br><br><br>";
endwhile;
于 2013-09-16T19:22:32.543 回答