Użytkownik 1 wysyła wiadomość do Użytkownika 2 dodatkowo może wejść w tą wiadomość i coś dopisać jeszcze w tej wiadomości jako nowa ale widoczna w wiadomości matce.
Czyli tak jak na forum post i komentarze w moim przypadku postem może być pojedyncza wiadomość bez odpowiedzi a także użytkownik 1 i 2 może prowadzić rozmowę nie zaczynając nowych wiadomości tylko pisząc w tej samej.
Przy pisaniu nowego PW w polu id_konwersacji wpisane zostaje to samo co wiad_id
Następnie użytkownik chcę coś dopisać i pisze w tej samej wiadomości coś jeszcze wówczas wiad_id ma swoje id a do id_konwersacji zapisywane jest id wiadomości w ramach której ta wiadomość została wysłana.
Problem mam taki że użytkownik wysyłający wchodzący w tą PW widzi kolejne wiadomości tak jak chcę wewnątrz pierwotnej wiadomości ale użytkownik do którego wysyłam widzi każdą odpowiedź jako nowe PW
Mam dwa zapytania jedno do wysłania nowego PW
if($_POST["tresc"] && $_POST["do"] && $_POST["temat"]){ mysql_query("insert into wiadomosci values(NULL, NULL, '".htmlspecialchars($_POST["tresc"])."', ".$_SESSION["zalogowany"].", 1, ".intval($_POST["do"]).", 1, 0, NOW(), '".htmlspecialchars($_POST["temat"])."', 0)"); //mysql_query("insert into wiadomosci values(NULL, '".htmlspecialchars($_POST["tresc"])."', ".$_SESSION["zalogowany"].", ".intval($_POST["do"]).", 0, NOW(), '".htmlspecialchars($_POST["temat"])."', 1)"); }
a te służy do odpowiedzi na PW bądź dopisania czy prowadzenia wymiany informacji wewnątrz.
if($_POST["konwersacja"]){ mysql_query("insert into wiadomosci values(NULL,".intval($_POST["konwersacja_id"]).", '".htmlspecialchars($_POST["tresc"])."', ".$_SESSION["zalogowany"].", 1, ".intval($_POST["do"]).", 1, 0, NOW(), '".htmlspecialchars($_POST["temat"])."', 0)"); mysql_query("update wiadomosci set wiad_przeczytane=0 where wiad_id=".intval($_POST["konwersacja_id"]).""); //mysql_query("insert into wiadomosci values(NULL, '".htmlspecialchars($_POST["tresc"])."', ".$_SESSION["zalogowany"].", ".intval($_POST["do"]).", 0, NOW(), '".htmlspecialchars($_POST["temat"])."', 1)"); }
Takie zapytanie wyświetla listę wiadomości
SELECT * FROM wiadomosci WHERE wiad_do=".$_SESSION["zalogowany"]." AND status_do!=0
a takie odpowiedzi do pierwszego PW
SELECT * FROM wiadomosci WHERE wiad_id=".$_GET['wiadomosc']." OR id_konwersacji=".$_GET['wiadomosc'].""
tabela
CREATE TABLE IF NOT EXISTS `wiadomosci` ( `wiad_id` int(11) NOT NULL auto_increment, `id_konwersacji` int(11) default NULL, `wiad_tresc` text, `wiad_od` int(11) default NULL, `status_od` int(11) default NULL, `wiad_do` int(11) default NULL, `status_do` int(11) default NULL, `wiad_przeczytane` tinyint(1) default NULL, `wiad_data` datetime default NULL, `wiad_temat` varchar(30) default NULL, `wiad_czyj` tinyint(1) default NULL, )