За последние 24 часа нас посетили 19047 программистов и 1618 роботов. Сейчас ищут 893 программиста ...

Как реализовать сортировку для имеющегося запроса?

Тема в разделе "PHP для новичков", создана пользователем CraftLawrence, 3 окт 2015.

  1. CraftLawrence

    CraftLawrence Новичок

    С нами с:
    12 ноя 2014
    Сообщения:
    40
    Симпатии:
    0
    Как для приведенного кода реализовать сортировку по дате (date), чтобы табличка начиналась с самого "свежего" элемента?
    Код (PHP):
    1. $results = $mysqli->query("SELECT code, cost, date, status FROM coupons 
    2.     WHERE action = 'cashout' && email = '".$email."' LIMIT 30");
    3.  
    4. while($row = $results->fetch_array()) {
    5.     echo "<tr>";
    6.         echo "<td>".$row["code"]."</td>";
    7.         echo "<td>$".$row["cost"]."</td>";
    8.         echo "<td>".$row["date"]."</td>";
    9.         echo "<td>".$row["status"]."</td>";
    10.     echo "</tr>";
    11. }
    12. $results->free();
    13. $mysqli->close();
    На этом этапе все работает, но без сортировки. И почему-то добавление ORDER BY date в конце запроса приводит к ошибке "PHP Fatal error: Call to a member function fetch_array() on a non-object in *строчка с началом цикла*"
    Пример запроса, как я пытался сделать:
    Код (PHP):
    1. $results = $mysqli->query("SELECT code, cost, date, status FROM coupons 
    2.     WHERE action = 'cashout' && email = '".$email."' LIMIT 30 ORDER BY cost");
    Как я понимаю, отсортированный запрос почему-то рушит функционал функции fetch_array() ?
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    если очень внимательно читать документацию по языку структурированных запросов (а по хорошему пальцы же ломать надо за незнание теории и преступное начало практики) то можно заметить что директива сортировки всегда идет до лимита.

    тынц https://dev.mysql.com/doc/refman/5.0/en/select.html
     
  3. CraftLawrence

    CraftLawrence Новичок

    С нами с:
    12 ноя 2014
    Сообщения:
    40
    Симпатии:
    0
    Хах
    И правда, нужно обладать просто колосальным вниманием, чтобы придать этому нужное значение при первом же сталкивании на практике.
    Плохо, что не все ошибки всплывают в месте их реального нахождения.
    Спасибо.