我用新闻系统制作了一个CMS,但它不起作用。我想在DESC LIMIT
上设置3
,但不起作用。
所以,我的问题是,这段代码有什么问题?我看不出错。我尝试了不同的东西,但它们都不起作用。
<?php
$query = mysql_query("SELECT * FROM articles ORDER BY article_id DESC LIMIT 3");
$numrows = mysql_num_rows($query);
if ($numrows > 0){
while ( $row = mysql_fetch_assoc($query) ){
$id = $row['article_id'];
$name = $row['article_title'];
$msg = $row['samenvatting'];
}
}
include_once('cms/includes/connection.php');
include_once('cms/includes/article.php');
$article = new Article;
$articles = $article->fetch_all();
?>
<div class="container">
<tr>
<?php foreach ($articles as $article){ ?>
<h4><?php echo $article['article_title']; ?></h4>
<p><?php echo $article['samenvatting']; ?><br/>
<a href="article.php?id=<?php echo $article['article_id']; ?>"><small>Lees meer</small> -
<small>
Gepost op <?php echo date('j M Y', $article['article_timestamp']); ?>
</small></a></p>
<?php } ?>
</tr>
</div>
答案 0 :(得分:1)
在MySQL中,LIMIT
没有方向。
我认为你对ORDER BY
使用ORDER BY
,您可以按照自己选择的方向订购一列。
E.g。
SELECT x FROM y ORDER BY x DESC
因此,例如,如果x
是一个整数类型,并且您想要最高的5个值,那么您将运行:
SELECT x FROM y ORDER BY x DESC LIMIT 5
答案 1 :(得分:0)
顶部的mysql_query
无效,因为您不会在任何地方使用结果。
您的结果集不受限制,因为您说
$articles = $article->fetch_all();
此外,你用
显示一切foreach ($articles as $article){
如果要限制结果集,则必须在执行fetch
时执行此操作,或者在循环中跟踪行并在显示所需的三行后立即停止。