在php页面中显示MySQL数据库表中的条目

时间:2013-09-16 19:11:52

标签: php mysql

我试图在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>";

?>

有人有什么想法吗?

3 个答案:

答案 0 :(得分: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>";

}

否则会重置各种文章变量,只输出最后一项。通过修改,您将获得每行输出。

答案 1 :(得分: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>";
}

答案 2 :(得分: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;