Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: переписка пользователей входящие/исходящие

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
nerimbaud
Отправлено: 07 Февраля, 2017 - 02:33:47
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Янв. 2017  


Помог: 0 раз(а)




Доброе время суток!
Возникла проблема с почтой, а конкретно не могу вывести всю переписку сообщений и входящих и исходящих с пользователем на одной странице.
имеется таблица `pochta` в которой следующие поля:
---------------
kto_id - id пользователя, кто отправил сообщение
---------------
komu_id - id пользователя, кому отправили сообщение
---------------
msg - текст сообщения
---------------
time - время отправления
---------------
значит в итоге чтобы вывести входящие сообщения которые пришли мне, то получается так
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $query = mysql_query ( "SELECT * FROM `pochta` WHERE `komu_id` = '{$user['id']}'" );
  4. while ( $q = mysql_fetch_array ( $query ) )
  5. {
  6.     // массив пользователей
  7.     $usr = mysql_fetch_array ( mysql_query ( "SELECT * FROM `users` WHERE `id` = '{$q['kto_id']}' LIMIT 1" ) );
  8.     // выводим сообщение
  9.     echo '<div class="text">';
  10.     echo $usr['login'] . '<br />'; // ник отправителя
  11.     echo $q['msg']; // текст сообщения
  12.     echo '</div>';
  13. }
  14.  
  15.  


ну и собственно чтобы вывести исходящие сообщения, которые я отправил, нужно всего лишь поменять местами `komu_id` на `id_komu`

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $query = mysql_query ( "SELECT * FROM `pochta` WHERE `kto_id` = '{$user['id']}'" );
  4. while ( $q = mysql_fetch_array ( $query ) )
  5. {
  6.     // массив пользователей
  7.     $usr = mysql_fetch_array ( mysql_query ( "SELECT * FROM `users` WHERE `id` = '{$q['komu_id']}' LIMIT 1" ) );
  8.     // выводим сообщение
  9.     echo '<div class="text">';
  10.     echo $usr['login'] . '<br />'; // ник отправителя
  11.     echo $q['msg']; // текст сообщения
  12.     echo '</div>';
  13. }
  14.  
  15.  


это всё понятно и просто, но как мне вывести все сообщения связанные со мной т.е. и входящие и исходящие на одной странице? может кто подскажет? хороший тому пример диалоги ВК
(Добавление)
уже горячо осталось только ник правильно вывести.
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $query = mysql_query ( "SELECT * FROM `pochta` WHERE `komu_id` = '{$user['id']}' OR `kto_id` = '{$user['id']}' ORDER BY `time` DESC" );
  4. while ( $q = mysql_fetch_array ( $query ) )
  5. {
  6.     // выводим сообщение
  7.     echo '<div class="text">';
  8.     echo $q['msg']; // текст сообщения
  9.     echo '</div>';
  10. }
  11.  
  12.  

(Добавление)
а вот с ником проблема Недовольство, огорчение
(Добавление)
разорвав голову я всё-таки добился результата, осталось вывести ник того, кому принадлежит сообщение. прошу помощи

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $id = (int) $_GET['id']; // id пользователя с кем выводим диалог
  4. $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']}') " ) );
  5. if ( empty ( $mess ) )
  6. {
  7. ?>
  8.     <div class="text">
  9.         Извините! Переписка с пользователем не найдена
  10.     </div>
  11.     <?
  12. } else {
  13.     $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" );
  14.     while ( $q = mysql_fetch_array ( $query ) )
  15.     {
  16.         // выводим сообщение
  17.         echo '<div class="text">';
  18.         echo $q['msg']; // текст сообщения
  19.         echo '</div>';
  20.     }
  21. }
  22.  
  23.  

(Добавление)
разорвав голову я всё-таки добился результата, осталось вывести ник того, кому принадлежит сообщение. прошу помощи

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $id = (int) $_GET['id']; // id пользователя с кем выводим диалог
  4. $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']}') " ) );
  5. if ( empty ( $mess ) )
  6. {
  7. ?>
  8.     <div class="text">
  9.         Извините! Переписка с пользователем не найдена
  10.     </div>
  11.     <?
  12. } else {
  13.     $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" );
  14.     while ( $q = mysql_fetch_array ( $query ) )
  15.     {
  16.         // выводим сообщение
  17.         echo '<div class="text">';
  18.         echo $q['msg']; // текст сообщения
  19.         echo '</div>';
  20.     }
  21. }
  22.  
  23.  

(Отредактировано автором: 07 Февраля, 2017 - 04:09:15)

 
 Top
teleoperator27
Отправлено: 07 Февраля, 2017 - 05:16:52
Post Id



Посетитель


Покинул форум
Сообщений всего: 265
Дата рег-ции: Янв. 2017  


Помог: 21 раз(а)




А в чем проблема то? Структуру БД покажите
 
My status
 Top
nerimbaud
Отправлено: 07 Февраля, 2017 - 07:49:11
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Янв. 2017  


Помог: 0 раз(а)




teleoperator27 пишет:
А в чем проблема то? Структуру БД покажите

ну структуру таблицы `pochta` я написал, а вот пользователей нет. извиняюсь.
`user`
`id` - id пользователя
`login` - никнем или же логин пользователя
(Добавление)
teleoperator27 пишет:
А в чем проблема то? Структуру БД покажите

благодаря коду указанному в первом посте и посмотрев на скрин (http://rgho[dot]st/888Rfy6Pl ), можно заметить, что выводятся мои сообщения с конкретным пользователем. хотелось бы рядом с сообщением ник того, кому принадлежит это сообщение. вот в чём беда не знаю как вывести.
 
 Top
nerimbaud
Отправлено: 07 Февраля, 2017 - 10:47:06
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Янв. 2017  


Помог: 0 раз(а)




проблема решена.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB