2014-01-27 5 views
0

Я создаю табличное представление для моего настраиваемого модуля, который отображает пользовательские пользовательские данные, которые он создал.Как получить данные из одной таблицы из базы данных -Drupal

Пример таблицы час:

hour_id hour 
    1  07:00 
    2  07:30 
    3  08:00 
    4  08:30 

Пример таблицы данных:

user_id user hour_start hour_end 
    1  name  1    3 
    2  name  1    2 

Примечание: сохранить I ID из таблицы часа данных таблицы. У пользователя есть раскрывающееся меню для начала и конца.

$result = db_query("SELECT ho.hour,h.hour FROM {data} t 
        INNER JOIN {hour} ho ON t.hour_start=ho.hour_id 
        INNER JOIN {hour} h ON t.hour_end=h.hour_id 
        WHERE t.made=:t",array(":t"=>$temp_user)); 


    $rows = array(); 
    foreach($result as $row){ 
    $rows[] = array ('data' => 
    array(
     $row -> hour, // putting ho.hour gives error 
     $row -> hour, // putting h.hour gives error 
     ), 
    ); 

Моя проблема в том, что я получаю в таблице только один час. Как я могу получить для строки один 07:00 (1) за один столбец и 08:00 (3) без создания отдельных таблиц для hour_start и hour_end.

ответ

1

Попробуйте использовать псевдонимы столбцов. Изменить запрос на:

SELECT ho.hour ho_hour, h.hour h_hour FROM {data} t ... 

, а затем получить данные с помощью:

$row -> ho_hour, 
$row -> h_hour, 
+0

Большое спасибо. Это сработало как шарм :) – 2thecore

Смежные вопросы