За последние 24 часа нас посетили 34867 программистов и 1695 роботов. Сейчас ищут 932 программиста ...

Реализация полноценных диалогов как в вк

Тема в разделе "PHP для новичков", создана пользователем Dron-Boy, 3 авг 2016.

  1. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    Добрый день товарищи. Хочу сделать диалоги как в вк. Ну не совсем так. Есть в бд таблица с такими полями id, id_user, id_user_send, mail, name_user_mail, name_user_send_mail, data. Вобщем мне нужно вытягивать все данные из нее где в совпадает id_user и заносить в массив и так полностью всю таблицу разбить на массивы. что бы было как в вк. Когда заходишь в мои сообщения там выводится блок с собщениями с определенным человеком когда кликаешь на блок выводится все сообщения. Или как лучше сделатЬ?
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Ну так и можешь делать.
    Если нужно оптимизировать, то почитай книгу по SQL.
    Читай про первичные ключи и тому подобное.
    Можно пользователей в одной таблице держать с их почтой, в другой только диалоги с id записи и id пользователе кто отправлял и кому.
    Это к SQL https://ru.wikipedia.org/wiki/Нормальная_форма
     
    Dron-Boy нравится это.
  3. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    я тут подумал и сделал вот как. В сообщениях вывожу все уникальные сообщения по id_user(юзер что получил). Whereid_user or id_user_send(юзер что отпрвил) ='$id(id юзера что зареган.)' и делаю ссылку по которой передаю id_user а на след странице принимаю его и вывожу все сообщения которые ему соотвецтвуют.
     
  4. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    а как лучше выводить диалоги просто циклом или рекурсией? там ведь один человек может отправить несколько сообщений?
     
  5. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @Dron-Boy циклом, просто сортируй по id, чем больше id тем новее сообщение, обычно новые показывают в конце, значит ORDER BY `id` DESC
     
    Dron-Boy нравится это.
  6. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    Спасибо
     
  7. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Ставь лайки если помог!