Задать вопрос
@leopardo11

Как правильно отсортировать данные из БД?

Есть список (темы) форума, которые по умолчанию сортируются по дате последнего добавления. Но необходимо сделать так, чтобы первее всех выводились темы, на которые отвечали в последний раз. Для этого создал еще одну строку в таблице `last_activity`, в которую заносится текущая дата и время, при добавлении ответа. Эту строку нужно использовать для сортировку учитывая `date_added`
$topics = $iaDb->all('SQL_CALC_FOUND_ROWS *', " `status`='active' ORDER BY `date_added` DESC", $start, $num_per_page, 'topics');
  • Вопрос задан
  • 2306 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
@IceJOKER
Web/Android developer
Можно сортировать сразу по нескольким полям таблицы, к примеру:
ORDER BY field1 desc, field2 asc....

А в вашем случае:
*а вы попробуйте сами =)*
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
почему бы не заполнять last_activity одновременно с date_added?

Кстати, $iaDb->all() - очень глупая функция. Сама идея сэкономить себе два слова - SELECT и WHERE - это какая-то адская жадность и недомыслие.
Интересно, как она себя ведет, если WHERE в запросе отсутствует, а, скажем, ORDER BY - есть.

При этом, я уверен, что плейсхолдеры эта функция не поддерживает
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
кажется, тут что-то такое писали.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽