Вывести значение поля в двух вариантах

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
Shouldercannon
Сообщения: 74
Зарегистрирован: 08 июн 2008, 15:49

07 окт 2017, 15:26

Есть две таблицы.
По значениям from и took таблицы request получаю ники из таблицы users

Код: Выделить всё

$query = "SELECT `treq`.`uid`, `tusr1`.`nick` AS `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['took'];
    }
} 
Всё работает нормально.
Понадобилось вывести из таблицы request значение поля from как оно есть (число) и также по нему вывести ник из таблицы 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'];
    }
} 
Значение выводится, но не поля from из таблицы request.

From пытаюсь вывести как есть вот так
[php]`treq1`.`from` AS `id`
LEFT JOIN `requests` AS `treq1` ON `treq1`.`uid` = `treq`.`from`[/php]

Решено

Код: Выделить всё

$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'];
    }
} 
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить