Решения задачи в лоб слишком тяжеловесны. Сделайте отдельно таблицу диалогов, ссылающуюся на последнее сообщение в переписке.[/quote]
Пока не совсем понимаю, как мне это поможет, можно подробней?
ну с диалогами тут есть несколько ситуаций
1) вам нужно отобразить список диалогов для конкретного пользователя (того кто сейчас авторизирирован)
2) нужно отобразить сообщения по конкретному диалогу для конкретного пользователя
мне в голову приходят решения с юнионами джоинами и групировками, так что задачка действительно нетривиальная
для вывода списков диалогов у меня было примерно такое решение
Так ники, или диалоги?!
В итоге на странице должны быть все последние сообщения, обращенные "мне" (одному пользователю с id === user_id от разных пользователей с id === user2_id)?
Или все последние сообщения, обращенные всем пользователям?
А табличка из первоначального поста точно содержит лишь два поля и просто фиксирует факт наличия сообщения от user2_id к user_id?!
Мне нужно, как в ВК, ники. Выведу сам, мне нужно лишь айди выловить.
Разумеется, что таблице содержит больше значений, просто убрал воду и оставил только проблему. Модель таблицы вот:
Я делаю личные сообщения на сайте, записываю все сообщения в одну таблицу.
На одной странице мне нужно вывести все диалоги, то есть ники тех, с кем обался пользователь.
Цитата:
1 2
2 1
В этом случае снчачала пользователь с id 2 шлет сообщение пользователю с id 1, потом пользователь с id 1 шлет сообщение пользователю с id 2.
По сути, фигурируют лишь два пользователя и мне нужна только одна запись та, у которой время отправки позже, но это просто, главное, чтоб отловить лишь одну запись
Ну пример того, какой массиы должен получитсья в конце, и чтобы не пришлось по нему пробегаться еще раз в php. Думаю проблема решаемая на уровне запроса.
Блин, в голове каша... Вроде все проблемы уже решились) Лучше сейчас реализовать попробую, так легче все понять) (Добавление)
RickMan пишет:
Ну пример того, какой массиы должен получитсья в конце, и чтобы не пришлось по нему пробегаться еще раз в php. Думаю проблема решаемая на уровне запроса.
И да, пример который выше не работает, проверил у себя на тестовой таблице... distinct срабатывает на первый солбец а второй просто делает выборку...
И нет, у меня не месячные. Научитесь просто гуглить или изъявлять нормально мысли. (ну или хотя бы грамотно)
Вау, работает) Спасибо большое) (Добавление)
Sail пишет:
Мелкий пишет:
ksedin пишет:
Я так делал уже, в первого, указанной после distinct он ищет уникальные записи, а вот со второго он просто берет значение из строки, которую нашел distinct
Докажите.
Разночтение в том, что distinct удаляет "дублирующиеся строки в результирующем наборе данных".
Но ТС хочет странного, то есть вовсе не этого!
Мне нужно сделать запрос к этой таблице, чтобы уникальные строки отбирались по двум столбцам. В данном случа запрос должен вернуть только первую и третью запись.
...
Кстати, а почему именно первую и третью, а не вторую и третью?!
Потому что первая строка попадет обработчику первей
Я так делал уже, в первого, указанной после distinct он ищет уникальные записи, а вот со второго он просто берет значение из строки, которую нашел distinct
Я так делал уже, в первого, указанной после distinct он ищет уникальные записи, а вот со второго он просто берет значение из строки, которую нашел distinct (Добавление)
Мне нужно сделать запрос к этой таблице, чтобы уникальные строки отбирались по двум столбцам. В данном случа запрос должен вернуть только первую и третью запись.
Это возможно? Я знаю, есть такая штука, как distinct, но она ищет только по уникальности одного столбца, а я слышал, что в нем можно составлять двойные условия, но как это сделать - не нашел
Изучаю вот фалкон и столкнулся с такой проблемой - скачал бандл авторизации, там красивый код, вроде по уму все, но вот беда, когда пытаюсь зарегистрироваться - апач помирает.
Дрянь такая происходит и на ксампе и на опен сервере, бандл прикрепил файлом, помогите пожалуйста)