2017-04-16 89 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} 
    " 
);