Получить данные из двух таблиц

206
09 октября 2017, 01:23

Есть две таблицы

CREATE TABLE IF NOT EXISTS `requests` (
  `uid` int(10) unsigned NOT NULL auto_increment,
  `from` int(10) unsigned NOT NULL,
  `took` int(10) unsigned NOT NULL,
  PRIMARY KEY  (`uid`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
CREATE TABLE IF NOT EXISTS `users` (
  `uid` int(10) unsigned NOT NULL auto_increment,
  `nick` varchar(60) NOT NULL,
  PRIMARY KEY  (`uid`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

По from и took (они числовые) получаю из таблицы Users ники.

$query = "SELECT `treq`.`uid`, `tusr1`.`nick` AS `from`, `tusr2`.`nick` AS `took`, `treq`.`date_address`, `treq`.`date_completion`
         FROM `requests` AS `treq`
         LEFT JOIN `users` AS `tusr1` ON `tusr1`.`uid` = `treq`.`from`
         LEFT JOIN `users` AS `tusr2` ON `tusr2`.`uid` = `treq`.`took`
         WHERE `treq`.`uid` = '".$_GET['rid']."'";  
$result = mysql_query($query) or die ("ERROR: ".mysql_error());
if (mysql_num_rows($result) > 0) {
    while ($row = mysql_fetch_array($result)) {
        // Берём результаты из каждой строки
        echo $row['from'].'~'.$row['took'];
    }
}

Всё работает, но тут встала задача вывести from из таблиц Request в числовом виде. То есть вывести from из таблицы Request как он есть и снова вывести его (ник по нему из таблицы Users).

$query = "SELECT `treq`.`uid`, `treq1`.`from` AS `id`, `tusr1`.`nick` AS `from`, `tusr2`.`nick` AS `took`
         FROM `requests` AS `treq`
         LEFT JOIN `requests` AS `treq1` ON `treq1`.`uid` = `treq`.`from`
         LEFT JOIN `users` AS `tusr1` ON `tusr1`.`uid` = `treq`.`from`
         LEFT JOIN `users` AS `tusr2` ON `tusr2`.`uid` = `treq`.`took`
         WHERE `treq`.`uid` = '".$_GET['rid']."'";  
$result = mysql_query($query) or die ("ERROR: ".mysql_error());
if (mysql_num_rows($result) > 0) {
    while ($row = mysql_fetch_array($result)) {
        // Берём результаты из каждой строки
        echo $row['id'].'~'.$row['from'].'~'.$row['took'];
    }
}

Явно не верно

Решено

$query = "SELECT `treq`.`uid`, `treq`.`from`, `tusr1`.`nick` AS `nick_from`, `tusr2`.`nick` AS `took`
            FROM `requests` AS `treq`
         LEFT JOIN `users` AS `tusr1` ON `tusr1`.`uid` = `treq`.`from`
     LEFT JOIN `users` AS `tusr2` ON `tusr2`.`uid` = `treq`.`took`
     WHERE `treq`.`uid` = '".$_GET['rid']."'";    
$result = mysql_query($query) or die ("ERROR: ".mysql_error());
if (mysql_num_rows($result) > 0) {
    while ($row = mysql_fetch_array($result)) {
        // Берём результаты из каждой строки
        echo $row['from'].'~'.$row['nick_from'].'~'.$row['took'];
    }
}  
READ ALSO
HTML DOM Parser возвращает False

HTML DOM Parser возвращает False

Использую библиотеку

303
Преобразование строки в выражение

Преобразование строки в выражение

Как преобразовать строку в выражение?

267
Как из формы брать данные для FindOne Yii2

Как из формы брать данные для FindOne Yii2

вот контроллер, как из формы взять id который будет в FindOne() на подобии FindOne($model->id)

323
Помогите получить ссылку на поток аудио вк

Помогите получить ссылку на поток аудио вк

Всем привет, помогите пожалуйста получить ссылку на аудио! апи закрыто, как я понял, вк шифрует ссылки

272