Доброе время суток!
Возникла проблема с почтой, а конкретно не могу вывести всю переписку сообщений и входящих и исходящих с пользователем на одной странице.
имеется таблица `pochta` в которой следующие поля:
---------------
kto_id - id пользователя, кто отправил сообщение
---------------
komu_id - id пользователя, кому отправили сообщение
---------------
msg - текст сообщения
---------------
time - время отправления
---------------
значит в итоге чтобы вывести входящие сообщения которые пришли мне, то получается так
PHP:
скопировать код в буфер обмена
$query = mysql_query ( "SELECT * FROM `pochta` WHERE `komu_id` = '{$user['id']}'" ); { // массив пользователей // выводим сообщение echo '<div class="text">'; echo $usr['login'] . '<br />'; // ник отправителя echo $q['msg']; // текст сообщения echo '</div>'; }
ну и собственно чтобы вывести исходящие сообщения, которые я отправил, нужно всего лишь поменять местами `komu_id` на `id_komu`
PHP:
скопировать код в буфер обмена
$query = mysql_query ( "SELECT * FROM `pochta` WHERE `kto_id` = '{$user['id']}'" ); { // массив пользователей // выводим сообщение echo '<div class="text">'; echo $usr['login'] . '<br />'; // ник отправителя echo $q['msg']; // текст сообщения echo '</div>'; }
это всё понятно и просто, но как мне вывести все сообщения связанные со мной т.е. и входящие и исходящие на одной странице? может кто подскажет? хороший тому пример диалоги ВК
(Добавление)
уже горячо осталось только ник правильно вывести.
PHP:
скопировать код в буфер обмена
$query = mysql_query ( "SELECT * FROM `pochta` WHERE `komu_id` = '{$user['id']}' OR `kto_id` = '{$user['id']}' ORDER BY `time` DESC" ); { // выводим сообщение echo '<div class="text">'; echo $q['msg']; // текст сообщения echo '</div>'; }
(Добавление)
а вот с ником проблема
(Добавление)
разорвав голову я всё-таки добился результата, осталось вывести ник того, кому принадлежит сообщение. прошу помощи
PHP:
скопировать код в буфер обмена
$id = (int) $_GET['id']; // id пользователя с кем выводим диалог $mess = mysql_fetch_array ( mysql_query ( " SELECT * FROM `pochta` WHERE (`kto_id` = '$id' AND `komu_id` = '{$user['id']}') OR (`komu_id` = '{$id}' AND `kto_id` = '{$user['id']}') " ) ); if ( empty ( $mess ) ) { ?> <div class="text"> Извините! Переписка с пользователем не найдена </div> <? } else { $query = mysql_query ( "SELECT * FROM `pochta` WHERE (`kto_id` = '$id' AND `komu_id` = '{$user['id']}') OR (`komu_id` = '{$id}' AND `kto_id` = '{$user['id']}') ORDER BY `time` DESC" ); { // выводим сообщение echo '<div class="text">'; echo $q['msg']; // текст сообщения echo '</div>'; } }
(Добавление)
разорвав голову я всё-таки добился результата, осталось вывести ник того, кому принадлежит сообщение. прошу помощи
PHP:
скопировать код в буфер обмена
$id = (int) $_GET['id']; // id пользователя с кем выводим диалог $mess = mysql_fetch_array ( mysql_query ( " SELECT * FROM `pochta` WHERE (`kto_id` = '$id' AND `komu_id` = '{$user['id']}') OR (`komu_id` = '{$id}' AND `kto_id` = '{$user['id']}') " ) ); if ( empty ( $mess ) ) { ?> <div class="text"> Извините! Переписка с пользователем не найдена </div> <? } else { $query = mysql_query ( "SELECT * FROM `pochta` WHERE (`kto_id` = '$id' AND `komu_id` = '{$user['id']}') OR (`komu_id` = '{$id}' AND `kto_id` = '{$user['id']}') ORDER BY `time` DESC" ); { // выводим сообщение echo '<div class="text">'; echo $q['msg']; // текст сообщения echo '</div>'; } }
(Отредактировано автором: 07 Февраля, 2017 - 04:09:15)
|