2016-05-06 5 views
1

У меня есть следующий код, и он показывает новые категории, которые они делают для пользователей. проблема, я не знаю, как ограничить результаты и сделать как ограничение для 5 последних категорий? благодаря! извините за плохой английский. благодаряКак ограничить результаты «SELECT»?

<?php 
    $stmt = $pdo->prepare('SELECT * FROM categories'); 
    $stmt->execute(); 
    echo $stmt->rowCount(); 
?> 
</span> 
</a> 

<ul class="dropdown-menu extended notification"> 
    <li> 
     <p>Categories</p> 
    </li> 

<?php 
    if($stmt->rowCount() > 0) { 
     foreach($stmt->fetchAll() as $row) { 
      $html = '<li>'; 
      $html .= '<div class="alert alert-info clearfix">'; 
      $html .= '<span class="alert-icon"><i class="fa fa-flag"></i></span>'; 
      $html .= '<div class="noti-info">'; 
      $html .= 'Category #'.$row['CategoryID'].' '.$row['CategoryName'].''; 
      $html .= '</div>'; 
      $html .= '</div>'; 
      $html .= '</li>'; 

      echo $html; 
     } 
    } else { 
     $html = '<li>'; 
     $html .= '<div class="alert alert-danger clearfix">'; 
     $html .= '<span class="alert-icon"><i class="fa fa-flag"></i></span>'; 
     $html .= '<div class="noti-info">'; 
     $html .= '<a href="#"> There are no available categories.</a>'; 
     $html .= '</div>'; 
     $html .= '</div>'; 
     $html .= '</li>'; 

     echo $html; 
    } 
?> 
+1

ORDER BY someid DESC LIMIT 5 – Mihai

ответ

2

Используйте ORDER BY, DESC и LIMIT по вашему запросу, то есть:

SELECT * FROM categories ORDER BY ColumnNameEx DESC LIMIT 5; 

ORDER BY

В некоторых случаях MySQL может использовать индекс, чтобы удовлетворить ORDER BY раздел , не делая дополнительной сортировки.
Индекс также может быть использован даже если ORDER BY не соответствует индексу точно, до тех пор, как все неиспользуемые части индекса и все дополнительных ORDER BY столбцов константы в WHERE п

http://dev.mysql.com/doc/refman/5.7/en/order-by-optimization.html


DESC

Порядок сортировки по умолчанию возрастает с наименьшими значениями. To сортировать в обратном порядке (убыв), добавить ключевое слово DESC к имени той колонки, которую вы сортируете.

http://dev.mysql.com/doc/refman/5.7/en/sorting-rows.html


LIMIT

Если вам нужно только определенное количество строк из набора результатов используйте LIMIT положение о в запросе, а не извлечение всего результата установите и выбросьте дополнительные данные.

https://dev.mysql.com/doc/refman/5.5/en/limit-optimization.html


+1

Он хочет последние 5 не случайных 5 – Mihai

+0

Добавить ORDER BY предложение было бы лучше –

+0

Ответ обновлен, спасибо вам всем! –

0

Добавить в конце запроса «LIMIT х», х количество результатов вы хотите получить

+1

вы можете показать exmple? –

+0

+ yaringroiser No. Это всего лишь вещь Google. – SEUH

+2

Обычно это вежливая вещь, чтобы дать небольшой пример, основанный на вопросе человека. Бросить их на милость Google не очень приятно. – tadman

Смежные вопросы