2017-04-16 66 views
1

如何使我的帖子按創建日期排序,而不是按照創建日期排序?所以,從新到舊。自動。CakePHP按日期創建訂單

<?php 

$db = new PDO('mysql:dbname=forum;host=localhost', 'root', ''); 

// User input 
$page = isset($_GET['page']) ? (int)$_GET['page'] :1; 
$perPage = isset($_GET['per-page']) && $_GET['per-page'] <= 50 ? (int)$_GET['per-page'] : 5; 

// Positioning 
$start = ($page > 1) ? ($page * $perPage) - $perPage : 0; 

// Query 
$posts = $db->prepare(
    " 
    SELECT SQL_CALC_FOUND_ROWS id, title, photo_dir, photo, body, created 
    FROM posts 
    LIMIT {$start}, {$perPage} 
    " 
); 

$posts->execute(); 

$posts = $posts->fetchAll(PDO::FETCH_ASSOC); 

// Pages 
$total = $db->query("SELECT FOUND_ROWS() as total")->fetch()['total']; 
$pages = ceil($total/$perPage); 

?> 

<body> 
    <div id="cont"> 
      <?php foreach($posts as $post): ?> 
       <h2 id="naslov"><?php echo $post['title']; ?></h2> 
       <p id="vri"><?php echo $post['created']; ?></p> 
      <?php endforeach; ?> 
     <div class="pagination"> 
      ... 
     </div> 
    </div> 
</body> 
+0

BY created'添加'爲了在您的查詢 – rickdenhaan

+0

這樣的嗎? 「 SELECT SQL_CALC_FOUND_ROWS ID,標題,photo_dir,照片,身體,創造
來自帖子
ORDER BY創建
LIMIT {$開始},{$ perPage} 」 它不工作 –

+0

是的,有你試過這種方式? – rickdenhaan

回答

1
// Query 
$posts = $db->prepare(
    " 
    SELECT SQL_CALC_FOUND_ROWS id, title, photo_dir, photo, body, created 
    FROM posts 
    ORDER BY created desc 
    LIMIT {$start}, {$perPage} 
    " 
);