|
Здравствуйте. Я только учу php, и для практики начал писать что-то типа чата. Код сначала вставляет сообщение в БД, потом вытаскивает его оттуда... но проблема в том, что извлекает из БД не с последнего, а с первого сообщения и тем самым новое сообщение выводится снизу страницы, а хотелось бы, чтобы оно выводилось сверху. Можно что-нибудь сделать? И еще, может кто-то подскажет правильно, какая последовательность должна быть у вывода сообщений? Буду благодарен. |
|
При выборке сообщений из базы используйте конструкцию ORDER BY. Здесь справочка по mysql Как правило в чате новые сообщения появляются снизу и уходят на верх. спасибо большее, особенно за справочник) почитал и все понял )
(27 Фев 14:52)
NoProblems
|
|
Просто запрос нужно формировать как и Вас спасибо большее
(27 Фев 14:53)
NoProblems
No Problem
(27 Фев 15:03)
ROOT
и правда выводит все начиная с последней записи, но почему-то с выводом опаздывает) то есть пишешь текст, отправляешь в базу и он оттуда сразу должен вывести) такого не происходит) происходит, то что сначало заносит в базу ничего не выводя на экран, а потом при повторном только нажатии выводит) почему так? а вот если делать без ORDER BY id desc, то выводит прекрасно )
(28 Фев 7:47)
NoProblems
|
|
В реляционной БД отсутствует понятие первая/последняя запись. Порядок выдачи записи определяется сортировкой результата, а это в свою очередь определяется инструкцией
В этом случае выдача будет отсортирована по убыванию времени сообщения (поле MESSAGE_TIME), так что самое свежее сообщение будет выдано первым. спасибо не только за код, но и за полное разъяснение
(28 Фев 12:03)
NoProblems
|
|
Или, как пример, можно заюзать PHP-функцию "mysql_fetch_array(ЗАПРОС)", которая возвращает поочередно записи, подходящие под запрос. В вашем случае это так:
спасибо...
(27 Фев 14:54)
NoProblems
|
Код в студию, поля таблиц из БД тоже. какой запрос делаешь ну и т.д.
Представь что ты на допросе в полиции России, тебе задают кучу вопросов.
Так вот чтобы не задавали кучу вопросов и отпустили невиновным, нужно сделать так (написать ксе запросы и нужные входные данные) чтобы вопросов было как можно меньше, и один единственный ответ оказался правильным и быстрым.