Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.01.2012, 22:03
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

Правильный запрос в базу данных.
Привет братюни

И у меня очередной вопрос-просьба помочь =)

вобщем суть такова.
У меня на сайте я сделал личные сообщения.
И сделал диалоги. Тоесть отображаются не все сообщения, а
только люди с кем переписывался, и последнее сообщение в диалоге с этим человеком.

В плане кода очень дибильно, ибо незнаю другого решения.
Вобщем извлекаются все сообщения, и если автор сообщения повторяется в array, то удаляется. например сообщений 18.000 у меня, а диалогов только 70.

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

SELECT * FROM messages LEFT JOIN se_users ON messages.from=all_users.user_id WHERE messages.to = '{$user_id}' ORDER BY sent DESC


можно ли как-нибудь сформировать запрос так, чтобы извлекалось последнее сообщение из диалога?

тоесть sent DESC, где messages.to = '{$user_id}', и чтобы messages.from никогда не повторялось



Заранее благодарю за поддержку, мое спасибо не на словах, поделюсь денежкой
Ответить с цитированием
  #2 (permalink)  
Старый 08.01.2012, 23:20
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

up
Ответить с цитированием
  #3 (permalink)  
Старый 08.01.2012, 23:47
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Вы каждый час будете апать?
Ответить с цитированием
  #4 (permalink)  
Старый 09.01.2012, 00:31
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

1 раз апнул. это важно.
Плачу рублями.
Ответить с цитированием
  #5 (permalink)  
Старый 09.01.2012, 00:32
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

Причем инфа может остаться для всех.
это стимул для профессионалов
Ответить с цитированием
  #6 (permalink)  
Старый 09.01.2012, 00:34
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

отбросить повторяющиеся записи можно так :

SELECT DISTINCT * FROM........

ограничить количество возвращаемых результатов можно помощью limit :

... LIMIT 1

(возьмёт одну)

структура БД и по какому признаку выбирать записи (и откуда) неясны.
Ответить с цитированием
  #7 (permalink)  
Старый 09.01.2012, 01:13
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

вобщем надо изменить этот код:

SELECT * FROM messages LEFT JOIN se_users ON messages.from=all_users.user_id WHERE messages.to = '{$user_id}' ORDER BY sent DESC


чтобы извлекались все строки с РАЗНЫМ ЗНАЧЕНИЕМ messages.from
и разумеется, где messages.to = '{$user_id}', и подключатся ко второй базе за получением инфы о юзерах.

вобщем вот так вот. выручайте братюни
Ответить с цитированием
  #8 (permalink)  
Старый 09.01.2012, 01:14
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

Сообщение от melky Посмотреть сообщение
отбросить повторяющиеся записи можно так :

SELECT DISTINCT * FROM........

ограничить количество возвращаемых результатов можно помощью limit :

... LIMIT 1

(возьмёт одну)

структура БД и по какому признаку выбирать записи (и откуда) неясны.
можно выкинуть записи с повторяющимся messages.from ?
Ответить с цитированием
  #9 (permalink)  
Старый 09.01.2012, 01:47
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

GROUP BY `messages`.`from`
Ответить с цитированием
  #10 (permalink)  
Старый 09.01.2012, 02:07
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

Сообщение от devote Посмотреть сообщение
GROUP BY `messages`.`from`
воот, уже очень близко. осталось настроить сортировку. она почему то сбилась.
с этим думаю разберусь
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не проходит запрос в базу если в поле кириллица Sadist_dead Серверные языки и технологии 1 26.11.2011 17:12
Ввод файлов в базу данных mysql Геворг Серверные языки и технологии 2 11.03.2011 21:02
Импорт в базу данных. Golovastik Серверные языки и технологии 3 23.02.2011 12:02
Переименовать базу данных Golovastik Серверные языки и технологии 1 30.10.2010 02:40
Синхронный запрос данных по AJAX Shasoft AJAX и COMET 2 03.03.2009 14:07