2014-01-29 41 views
-3

我使用新聞系統制作了一個CMS,但它不起作用。我想設置一個DESC LIMIT3,但它不起作用。DESC LIMIT不起作用

所以,我的問題是,這段代碼有什麼問題?我看不到錯誤。我嘗試了不同的東西,但都不起作用。

<?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> 
+1

什麼不行?你會得到什麼錯誤?你在期待什麼?你有什麼? –

+0

它只是不工作,它不顯示只有3個,但最近的10個新聞文章。 – Christian

+0

'desc limit'是SQL,而不是PHP –

回答

0

mysql_query在頂部沒有任何影響,因爲你不不要在任何地方使用結果。

你的結果集是沒有限制,因爲你說

$articles = $article->fetch_all(); 

此外,還顯示出與

foreach ($articles as $article){ 

一切,如果你想限制結果集,你必須做這樣的當fetch或者您追蹤循環中的行,並在您顯示所需的三行時立即停止。

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 
+0

不適合我 – Christian

+0

什麼不?我沒有給你一個工作的例子,這是一個語法的例子。 – Ryan