Intereting Posts
Как отслеживать клики / представления изображений / баннеров с помощью PHP / MySQL Facebook только возвращает имя и идентификатор пользователя бесконечный цикл анимации прокрутки ajax В каком порядке объекты уничтожены в PHP? json_encode () ожидает, что параметр 2 длинный, строка задана Kartik Select2 – сделать его readonly (не отключено!) От js Полоса прокрутки для Datalist в HTML5 Компромисс между пользовательскими данными в сеансе против базы данных? Выполнение модульного тестирования с вложенными зависимостями и заводскими классами Каков наилучший способ создания облака тегов из массива с использованием h1-h6 для определения размера? Является ли symfony 2.0 достаточно стабильным для использования? Условное расширение в клинке Какая страница предназначена для контроллера модели? Создание образа без сохранения его как локального файла Не удалось запустить сервер разработки laravel на linux

эхо в обратном порядке от mysql_fetch_assoc ()

Хорошо, вот трюк. В запросе я получаю правильные результаты из таблицы с сообщениями. (Приобретение последних 10 сообщений, упорядоченных по времени, вставленному в обратном порядке), вот запрос:

$query = mysql_query("SELECT time, username, message FROM messages ORDER BY time DESC LIMIT 10"); 

И чем позже эти сообщения печатаются внутри div через ajax с помощью

 while ($item = mysql_fetch_assoc($query)) { echo $item['time']." - ".$item['username']." - ".$item['message']; } 

Но напечатанный результат я хочу напечатать их только в обратном порядке. Совет. Если я использую ASC в предложении ORDER BY, я не получаю последние вставленные сообщения.

Возможно ли это сделать внутри php?

Храните данные и используйте массив_реверс ,

 while($row = mysql_fetch_assoc($result)){ $items[] = $row; } $items = array_reverse($items ,true); foreach($items as $item){ echo $item['time']." - ".$item['username']." - ".$item['message']; } 

Я бы использовал подзапрос лично. Я немного анальный о том, что мои данные выходят из MySQL точно так, как я этого хочу, но метод array_reverse будет работать отлично. Вот мой пример:

 $query = mysql_query("SELECT * FROM ( SELECT time, username, message FROM messages ORDER BY time DESC LIMIT 10) result ORDER BY time ASC "); 

Использование: array_unshift – Подготовьте один или несколько элементов к началу массива

 $items = array(); while($row = mysql_fetch_assoc($result)){ array_unshift($items,$row); } foreach($items as $item){ echo $item['time']." - ".$item['username']." - ".$item['message']; } 

Heres бесполезный, но быстрый пример. Надеюсь, он все еще там: Простой пример