Как я могу отдельно отобразить столбец состояния helper_tbl и поле столбца статуса getter_tbl - PullRequest
0 голосов
/ 06 февраля 2020

Я хочу указать, что столбец таблицы выводится.

Я получаю пустое значение, когда пытаюсь распечатать только из вспомогательного столбца

$query = $db->fetch("SELECT n.*, g.* FROM helper AS n LEFT JOIN getter AS g ON n.user_id= g.user_id WHERE n.user_id='{$id}' OR g.user_id='{$id}' ");

if($query !== ''){
    foreach($query as $value){
        $output .= $value['n.status'];
    }
    print $output;
}

1 Ответ

0 голосов
/ 06 февраля 2020

Ваша проблема в том, что оба столбца называются status, поэтому, когда формируется массив результатов, второе значение status перезаписывает первое (так как массив PHP может иметь только одно значение для данного ассоциативного ключа). Вы можете обойти это, используя псевдонимы столбцов:

$query = $db->fetch("SELECT n.*, g.*, n.status as n_status, g.status as g_status
                     FROM helper AS n 
                     LEFT JOIN getter AS g ON n.user_id= g.user_id 
                     WHERE n.user_id='{$id}' OR g.user_id='{$id}' ");
if($query !== ''){
    foreach($query as $value){
        $output .= $value['n_status'];
    }
    print $output;
}

Обратите внимание, что у вас будет та же проблема с вашим столбцом user_id (и, возможно, другими). Как правило, лучше перечислять нужные столбцы по отдельности (вместо использования *), чтобы избежать этой проблемы с самого начала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...