我有这个脚本,它回应了mysql数据库中的信息 现在一切正常,但我只想回应插入的最后4个语句
这是脚本
<?php
mysql_connect("localhost", "root", "root") or die(mysql_error());
mysql_select_db("blog") or die(mysql_error());
$result = mysql_query("SELECT * FROM blog")
or die(mysql_error());
echo "<table border='1'>";
echo "<tr> <th>Name</th> <th>Age</th> </tr>";
while($row = mysql_fetch_array( $result )) {
echo "<tr><td>";
echo $row['id'];
echo "</td><td>";
echo $row['username'];
echo "</td></tr>";
}
echo "</table>";
?>
答案 0 :(得分:4)
修改你的mysql查询(我假设每个条目都是一个升序的id):
SELECT * FROM blog
ORDER BY id DESC
LIMIT 4;
但这会使它们按相反的顺序排列。如果您希望它们按正确的顺序排列,您可以这样做:
SELECT *
FROM (
SELECT * FROM blog
ORDER BY id DESC
LIMIT 4
) last_four
ORDER BY id ASC;
答案 1 :(得分:1)
如果您有一个自动增加的列作为每个博客帖子的ID,您可以按降序对ID进行排序。使用像这样的查询
mysql_query("SELECT * FROM blog ORDER BY your_id_column DESC LIMIT 4")
答案 2 :(得分:1)
假设您的blog
表格中有一个名为created
的列,其中包含帖子的创建日期,此查询应该可以满足您的需求:
SELECT * FROM blog ORDER BY created DESC LIMIT 4
这将按照最近创建的帖子(按时间顺序)排序您的帖子,并且只返回从表中提取的前4行。
答案 3 :(得分:1)
您可以使用查询执行此操作,将查询更改为:
select * from blog order by blog_id desc limit 4
您必须将blog_id
更改为您使用的任何内容。
答案 4 :(得分:1)
使用此查询,它将按ID按降序排列记录,并使用限制仅获取最后4位。
SELECT * FROM blog order by ID DESC LIMIT 4
答案 5 :(得分:1)
您可以使用LIMIT和ORDER BY限制SELECT,但为了提供帮助,我们需要了解有关数据库结构的更多信息。你能提供“DESCRIBE博客”的结果吗?
如果您的“id”字段设置了auto_increment,那么可以肯定的是,该字段的较高数字表示最近的帖子。以相反顺序显示输出(“ORDER BY id DESC”)并限制数字(“LIMIT 4”)应该相当简单。
SELECT * FROM blog ORDER BY id DESC LIMIT 4;
在MySQL documentation处查看SELECT命令的精确结构。
答案 6 :(得分:1)
<?php
mysql_connect("localhost", "root", "root") or die(mysql_error());
mysql_select_db("blog") or die(mysql_error());
$result = mysql_query("SELECT * FROM `blog` ORDER BY `id` DESC LIMIT 4") or die(mysql_error());
echo "<table border='1'>";
echo "<tr> <th>Name</th> <th>Age</th> </tr>";
while($row = mysql_fetch_array( $result )) {
echo "<tr><td>";
echo $row['id'];
echo "</td><td>";
echo $row['username'];
echo "</td></tr>";
}
echo "</table>";
?>
只需复制并粘贴代码即可。我相信代码会很好用。感谢