3 / 3 / 8
Регистрация: 25.05.2010
Сообщений: 166
1

Получить список сообщений для указанных from и to

05.12.2014, 20:58. Показов 442. Ответов 2
Метки нет (Все метки)

Доброго времени суток!
Есть две таблицы
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
DROP TABLE IF EXISTS `users`;
 
CREATE TABLE IF NOT EXISTS `users` (
  `uid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `nick` VARCHAR(60) NOT NULL,
  PRIMARY KEY  (`uid`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
 
INSERT INTO `users` (`uid`, `nick`) VALUES
(NULL, 'Zenith'),
(NULL, 'Cali'),
(NULL, 'Illana'),
(NULL, 'Karag');
 
DROP TABLE IF EXISTS `private_messages`;
 
CREATE TABLE IF NOT EXISTS `private_messages` (
  `uid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `from` INT(2) UNSIGNED NOT NULL,
  `to` INT(2) UNSIGNED NOT NULL,
  `date` datetime DEFAULT NULL,
  `message` VARCHAR(2000) NOT NULL,
  PRIMARY KEY  (`uid`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
 
INSERT INTO `private_messages` (`uid`, `from`, `to`, `date`, `message`) VALUES
(NULL, 1, 1, '2013-03-20 10:00:00', 'Привет Zenith!'),
(NULL, 2, 1, '2013-03-20 10:00:01', 'Привет Zenith!'),
(NULL, 3, 1, '2013-03-20 10:00:01', 'Привет Zenith!'),
(NULL, 4, 1, '2013-03-20 10:00:01', 'Привет Zenith!'),
(NULL, 1, 1, '2013-03-20 10:00:04', 'Добрый Zenith!'),
(NULL, 1, 2, '2013-03-20 10:00:05', 'Добрый Cali!'),
(NULL, 1, 3, '2013-03-20 10:00:05', 'Добрый Illana!'),
(NULL, 1, 4, '2013-03-20 10:00:05', 'Добрый Karag!');
Так я получаю весь список сообщений
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
include "dbconnect.php";
// Проверка на пустоту
if (empty($_GET['to']) || empty($_GET['from']) || empty($_GET['pmid'])) {
    die;
}
$query = "SELECT `tpm`.`uid`, `tusr_from`.`nick` AS `from`, `tusr_to`.`nick` AS `to`, `tpm`.`date`, `tpm`.`message`
         FROM `private_messages` AS `tpm`
         JOIN `users` AS `tusr_from` ON `tusr_from`.`uid` = `tpm`.`from`
         JOIN `users` AS `tusr_to` ON `tusr_to`.`uid` = `tpm`.`to`
         WHERE `tpm`.`uid` >= '".intval(mysql_real_escape_string($_GET['pmid']))."'
         ORDER BY `tpm`.`uid`";
$result = mysql_query($query) or die ("ERROR: ".mysql_error());
while ($row = mysql_fetch_array($result)) // Берём результаты из каждой строки
echo $row['uid'].'~'.$row['from'].'~'.$row['to'].'~'.$row['date'].'~'.$row['message'].'!end-post'; // Выводим данные
?>
Zenith -> Zenith -> 2013-03-20 10:00:00 -> Привет Zenith!
Cali -> Zenith -> 2013-03-20 10:00:01 -> Привет Zenith!
Illana -> Zenith -> 2013-03-20 10:00:01 -> Привет Zenith!
Karag -> Zenith -> 2013-03-20 10:00:01 -> Привет Zenith!
Zenith -> Zenith -> 2013-03-20 10:00:04 -> Добрый Zenith!
Zenith -> Cali -> 2013-03-20 10:00:05 -> Добрый Cali!
Zenith -> Illana -> 2013-03-20 10:00:05 -> Добрый Illana!
Zenith -> Karag -> 2013-03-20 10:00:05 -> Добрый Karag!


Помогите, пожалуйста, доделать PHP, чтобы он выводил не все сообщения, а только для указанных
PHP
1
2
$_GET['to']
$_GET['from']
Например: to = 1 (Zenith), from = 2 (Cali)

Cali -> Zenith -> 2013-03-20 10:00:01 -> Привет Zenith!

По идее тут
PHP
1
$query = "SELECT `tpm`.`uid`, `tusr_from`.`nick` AS `from`, `tusr_to`.`nick` AS `to`, `tpm`.`date`, `tpm`.`message`
вместо tusr_from -> $_GET['from'] и tusr_to -> $_GET['to']

P.S. В данной теме не силён
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2014, 20:58
Ответы с готовыми решениями:

Как получить список сообщений вконтакте?
как получить список личных сообщений вконтакте ??

Где можно получить список сообщений от этих окон?
WC_EDIT WC_COMBOBOX WC_BUTTON WC_LISTBOX CreateWindow(WC_ ... , , , , , , ,...

C помощью команды mail получить список всех сообщений за последнюю неделю
Подскажите, как с помощью команды mail получить список всех сообщений за последнюю неделю?

Вывести имена указанных систем и количество сообщений, переданных каждой системой
Добрый день товарищи, возникла проблема у девушки с написанием запроса, условия такие: есть три...

2
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
07.12.2014, 18:09 2
Shouldercannon, в запрос надо добавить условие
PHP
1
"SELECT `tpm`.`uid`, `tusr_from`.`nick` AS `from`, `tusr_to`.`nick` AS `to`, `tpm`.`date`, `tpm`.`message` WHERE `tusr_from`.`nick`='".$_GET['from']."' AND `tusr_to`.`nick`='".$_GET['to']."'
1
6 / 6 / 2
Регистрация: 02.02.2015
Сообщений: 22
11.02.2015, 09:05 3
Помогите, пожалуйста, доделать PHP, чтобы он выводил не все сообщения, а только для указанных

Например: to = 1 (Zenith), from = 2 (Cali)
решение
SQL
1
2
3
4
5
SELECTWHERE 
  (`tusr_from`=1 AND `tusr_to`=2) OR 
  (`tusr_from`=2 AND `tusr_to`=1)
ответ изначально был дан на форуме PHP.RU, но вся тема была удалена Админом по веским причинам )))
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.02.2015, 09:05
Помогаю со студенческими работами здесь

Статический список tempMessages для хранения сообщений заполняется мусором
Я пишут чат. Я использую статический список tempMessages для хранения сообщений в оперативной...

Получить поток из 100k сообщений и для сообщения каждого типа определить
Помогите пожалуйста написать программу в Scilab. 1)Генерация сообщений различных типов. На...

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

Получить список используемых разрешений для видеокарты
Как получить список всех возможных разрешений для видеокарты (монитора) в системе? Есть примеры?,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru