Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: php - как перевернуть вывод?  (Прочитано 2166 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн goldskif

  • Автор темы
  • Активист
  • *
  • Сообщений: 525
    • Просмотр профиля
    • Альтернативные проекты
php - как перевернуть вывод?
« : 03 Февраля 2009, 19:11:00 »
Этот кусок
$result = $db->sql_query("SELECT date, name, uid, comment FROM ".$prefix."_comment WHERE modul='Flud' ORDER BY id ASC LIMIT 0,$filenum");
while(list($post_time, $sender_name, $sender_uid, $com_text) = $db->sql_fetchrow($result)) {
 $echo = " $post_time, $sender_name, $sender_uid, $com_text<br />";
}
выводит последние посты в гостевую по убыванию
3
2
1
Как лучше сделать, чтобы посты выводились
1
2
3
то есть самый последний пост был в самом низу страницы.
Ubuntu дружелюбная система, но друзей  она, сцуко, выбирает сама...

Оффлайн Kwah

  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: php - как перевернуть вывод?
« Ответ #1 : 03 Февраля 2009, 23:57:32 »
Убрать в SQL-запросе сортировку?

Оффлайн Metallist

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: php - как перевернуть вывод?
« Ответ #2 : 04 Февраля 2009, 13:50:01 »
ORDER BY id ASC
поменяй на ORDER BY id DESC

Оффлайн goldskif

  • Автор темы
  • Активист
  • *
  • Сообщений: 525
    • Просмотр профиля
    • Альтернативные проекты
Re: php - как перевернуть вывод?
« Ответ #3 : 04 Февраля 2009, 15:12:36 »
ORDER BY id ASC
поменяй на ORDER BY id DESC
DESC не катит.  Тогда вместо 0 в LIMIT надо будет ставить какое-то число ,чтобы отсчитать последние посты.. Или он выдаст от начала.
Там чем-то надо массив в обратном порядке сортировать перед выводом..
Ubuntu дружелюбная система, но друзей  она, сцуко, выбирает сама...

Оффлайн Nebulosa

  • Активист
  • *
  • Сообщений: 397
    • Просмотр профиля
Re: php - как перевернуть вывод?
« Ответ #4 : 04 Февраля 2009, 16:33:13 »
array_reverse ($result) между первой и второй строкой...

Оффлайн unimix

  • Активист
  • *
  • Сообщений: 537
    • Просмотр профиля
Re: php - как перевернуть вывод?
« Ответ #5 : 04 Февраля 2009, 16:40:02 »
ORDER BY id ASCВообще то здесь сортировка должна быть по возрастанию (если записи добавляются с возрастающим id).

Можно использовать 'msql_fetch_array' и обрабатывать массив в необходимом порядке (например 'array_reverse').
Или обработать построчно, начиная с последней записи:
$array = msql_fetch_array($resource);
while(list($post_time, $sender_name, $sender_uid, $com_text) = array_pop($array))
{
echo " $post_time, $sender_name, $sender_uid, $com_text<br />";
}
« Последнее редактирование: 04 Февраля 2009, 16:46:31 от unimix »

 

Страница сгенерирована за 0.045 секунд. Запросов: 25.