имеется вот такой запрос к базе данных
$list = database::i()->support('user_id = ?', $user_id)->limit('10')->order('created_at DESC');
Он берет последние 10 записей с таблицы support и выводит в виджет, но получается так, что самые последние сообщения оказываются в самом верху, а поле ввода находиться в низу, может кто то сможет помочь соорудить конструкцию подобную этому?
$list = database::query("SELECT * FROM (SELECT * FROM support ORDER BY created_at DESC LIMIT 10) tmp ORDER BY created_at ASC");
Что бы последние записи были выведены циклом последними, а не как первыми.
Всем спасибо!
Вам не нужно делать подобные вещи запросами к БД. Обработка данных должна происходить на контроллере.
Если результат выполнения database::i()->support->...
- массив, то просто пройдитесь по нему в обратном порядке:
for ($i = count($list) - 1; $i >= 0; $i--) {
echo ($list[$i]);
}
Если $list
- объект, то советую посмотреть документацию к ORM, которую вы используете, возможно она уже имеет методы для получения строк результата запроса в обратном порядке.
Если нет, то, скорее всего, $list
реализует интерфейсы \Iterator, \ArrayAccess, \Countable
, и вы сможете работать с ним как с массивом.
Если на чистом mysqli, то как то так:
$query = "SELECT * FROM support ORDER BY created_at DESC LIMIT 10";
if ($result = $mysqli->query($query)) {
$rows_count = $result->num_rows;
$list = array();
// Идем по циклу от последней строки к перовй
for ($i = $rows_count - 1; $i >= 0; $i--) {
// смещаем указатель на нужную строку
$result->data_seek($i);
// получаем строку
$list[] = $result->fetch_row();
}
$result->close();
}
var_dump($list);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Дабы сократить время верстки множества страниц решил вынести header в отдельный файл, чтобы в indexphp и других страницах призывать его через include
Вот связанные модели:
Здравствуйте у меня есть строка в C#
Я пытаюсь сделать приложение по типу счётчика калорий: в первом окне я вписываю текущий рост и вес, а во втором окне в текстовом поле Label я должен...