За последние 24 часа нас посетили 60283 программиста и 1813 роботов. Сейчас ищет 831 программист ...

переписка пользователей

Тема в разделе "PHP и базы данных", создана пользователем sidor84, 29 мар 2015.

  1. sidor84

    sidor84 Новичок

    С нами с:
    29 мар 2015
    Сообщения:
    17
    Симпатии:
    0
    Всем привет. Ребят помогите создать переписку с пользователями на сайте.
    сайт с объявлениями.

    в каждом отдельном объявлении (с индивидуальным id) есть форма отправки сообщения пользователю.

    есть таблицы в БД
    таблица user, objav, messages

    в таблице user - все понятно
    юзеры со своим id
    в таблице objav: id объявления, id пользователя публиковавшего объяву , ну и еще строки которые в данном случае не необходимы.


    в таблице messages:
    id - автоинкремент
    id_objav - id объявления в тему которого было написано сообщение
    poluchatel_id - тот кому сообщение написано(он же хозяин объявления)
    otpravitel_id - тот кто написал сообщения (он тоже юзер с индивидуальным id)
    message - ну эт понятно. текст сообщения
    date - дата
    readed - 0/1 - Не прочитано/прочитано

    ну в общем, добавление в базу сообщения со всеми данными сделал.
    Но голову ломаю, как выводить сообщения пользователям:

    Есть две страници:
    spisok.php - Тут выводим список исходящих/входящих сообщений.
    допустим, я со своим id #1 написал 3 сообщения пользователю с id #5
    1сообщение пользователю с id #6
    пользователь с с id #15 написал мне(id#1)
    и т.д

    на этой странице выводим только ссылки на переписки
    Диалог3 - входящий id#15 c id #1 (3сообщение) (несмотря на то что в диалоге 3 сообщения, на этой странице выводим ссылку 1 раз. т.е. нужно не к id_objav привязаться, а как то по другому)
    диалог2 - исходящий id#1 c id #6 (1сообщение)
    диалог1 - исходящий id#1 c id #5 (1сообщение)

    При клике на ссыль (допустим диалог3), переходим на страницу
    messages.php
    Где полностью отражаются сообщения
    от пишущего и от принимающего пользователей.

    Ну в общем думаю подробно написал, кто разбирается, плз напишите как это реализовать, ну или если на статью ссыль кините, тож благодарен буду.

    Спасибо. всех люблю целую!)
     
  2. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Начни с создания таблиц. Потом загони туда какие-то игровые данные, попробуй запросы, которые по твоему мнению должны вызываться для построения страниц. Всё это без PHP попробуй, только в phpmyadmin или что там у тебя есть. Когда убедишся, что со структурами и запросами всё получается, начинаешь писать код.

    Чтобы получить хороший фидбек на форуме, следуй простым правилам:
    • Оформляй код в ббкод [code] [/code] (есть даже кнопочка для этого),
    • Если говоришь "таблица вот такого вида", то сразу же выкладывай CREATE TABLE которым эта таблица создается.
    • Когда говоришь, что что-то не получается, то засвети фрагмент кода и конкретное описание что не так.
    • Не пытайся выглядеть более умелым, чем на самом деле. Не стыдно чего-то не знать.

    Добавлено спустя продолжительное время:
    Если я тебя правильно понял, objav это заголовок темы, а messages это сообщения темы.
    Чтобы было удобно фильтровать переписку от тебя / к тебе, наверное в objav должны быть поля и про отправителя и про получателя (у тебя только отправитель). А вот в messages наоборот, при такой структуре незачем указывать получателя, т.к. уже есть указание к какой теме это сообщение относится.

    Еще раз попрошу показать CREATE TABLE всех таблиц. Еще лучше, если разместишь пример переписки на sqlfiddle.com — вообще красавчик будешь!
     
  3. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    А в чем проблема? сделай за меня? или подскажите как сделать?
     
  4. sidor84

    sidor84 Новичок

    С нами с:
    29 мар 2015
    Сообщения:
    17
    Симпатии:
    0
    СЛЫШ VLK, мне такие умники как ты тут нафик ненужны, неможешь ничего умного написать так и не флуди тут. меня вообще бесят такие кренделя как ты. я полностью написал суть вопроса. если написал, значит есть вопрос, и недопонимание темы. Если знаешь что то, пиши, не знаешь, вали с форума!

    Добавлено спустя 20 минут 48 секунд:
    artoodetoo, Ну вот так структуру могу скинуть. это те таблицы которые используются.

    Messages
    Код (Text):
    1.  
    2.         1   id          int(9)         
    3.     2   id_objav    int(11)        
    4.     3   poluchatel_id   int(5)         
    5.     4   otpravitel_id   int(5)         
    6.     5   poluchatel_e_mail   varchar(150)   
    7.     6   otpravitel_e_mail   varchar(150)   
    8.     7   message text    utf8_general_ci    
    9.     8   date    date           
    10.     9   readed  tinyint(4) 
    Userlist
    Код (Text):
    1.  
    2.         1   id  int(11)
    3.     2   user    varchar(50)
    4.     3   pass    varchar(50)
    5.     4   email
    objavleniya_chastn
    Код (Text):
    1.  
    2. 1   id  int(11)
    3.     2   title   varchar(255)
    4.     3   description text   
    5.     4   category_id int(11)
    6.     5   meta_k  varchar(255)   
    7.     6   meta_d  varchar(255)   
    8.     7   region_id   int(11)    
    9.     8   region  varchar(255)   
    10.     9   price   float  
    11.     10  tel varchar(40)
    12.     11  site_url    varchar(100)   
    13.     12  img_url varchar(255)   
    14.     13  img_url_mini    varchar(255)
    15.     14  date    date       
    16.     15  user_id int(4) 
    17.     16  user_name   varchar(255)   
    18.     17  e_mail  varchar(255)   
    19.     18  view    int(11)
    20.     19  visible tinyint(1)
     
  5. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    спокойно, без истерик! в интернетах всегда кто-то неправ. или нам кажется, что неправ.
    уточни: речь про личные сообщения или это всем доступные объявления и коментарии к ним?
     
  6. sidor84

    sidor84 Новичок

    С нами с:
    29 мар 2015
    Сообщения:
    17
    Симпатии:
    0
    Речь идет об индивидуальных диалогах между двумя пользователями. Т. Е. Отправляющий и принимающий видят и исходящие и входящие сообщения. Но на данном этапе сложность не только в этом. Тут больше сейчас интересует как выводить список разных диалогов. Если есть товар, с Id 255 пользователи id1 и id5, то это один диалог в котором есть несколько сообщений . И тут еще вот какое дело, если пользователь с id1 хозяин объявления id255, и ему напишут разные пользователи, то это разные диалоги, не смотря на то, что Id объявления одно и тоже. PS И я конечно понимаю что масса уроков по переписке, но практически везде акцент на том как сделать первый этап, внесение в бд сообщения. А что касается вывода списка диалогов и самого диалога в отдельности, такого нет. Вот поэтому прошу помочь разобраться в структуре . В самом коде может и сам разберусь, мне это интересно "поковырять))"
     
  7. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    слишком много сущностей. переписку я бы обсудил, а тут какие-то товары, объявления, оно и массовый чат, оно и приватная беседа.
    я пасс.
     
  8. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Я бы сперва нарисовал скетчи, например на html все странички с данными, как это было бы видно пользователю.
    Вот видя всё это можно уже и структуру базы делать.
     
  9. sidor84

    sidor84 Новичок

    С нами с:
    29 мар 2015
    Сообщения:
    17
    Симпатии:
    0
    товар-объявление - одно и тоже... сорри это я затупил и разными словами назвал. сейчас картинки подготовлю скину...
     
  10. sidor84

    sidor84 Новичок

    С нами с:
    29 мар 2015
    Сообщения:
    17
    Симпатии:
    0
    электричество вырубили, 2 дня без света, интернета , и нормальной жизни... в общем картинки подготовил, посмотрите плз

    Выложил картинки по ссылке http://infor.com.ua/test.php

    Спасибо всем кто отозвался)