我试图在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>";
?>
有人有什么想法吗?
答案 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;