DESC LIMIT不起作用

时间:2014-01-29 14:38:50

标签: php mysql

我用新闻系统制作了一个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>

2 个答案:

答案 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时执行此操作,或者在循环中跟踪行并在显示所需的三行后立即停止。