Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Создание в компоненте собственного запроса к БД

17.08.2010, 16:34
sparton
Шекера Евгений

Зарегистрирован:
2010-03-16
Сообщений: 141

Возникла задача вывода в компоненте данных из другой таблицы, а не из собственной. Использовал $ignore_all в системных настройках компонента, чтобы составить свой запрос. Показал debug , запрос отработал, данные деббагер показал.
Как теперь вывести объекты в списке? $f_Name - ничего не показывает. Как отобразить теперь полученные данные?
17.08.2010, 17:32
Denis
Denis

Зарегистрирован:
2008-07-15
Сообщений: 666

В $results_vars указываете переменные, каждая из которых соответствует полю из таблицы, например:
$results_vars = '$f_id, $f_name';
или
$results_vars = "\$f_id, \$f_name";

эти переменные ( $f_id, $f_name) будут доступны в "объекте в списке"

Ксю доставляет...
17.08.2010, 18:20
sparton
Шекера Евгений

Зарегистрирован:
2010-03-16
Сообщений: 141

Запрос выглядит следующим образом:
"select t1.Url, t1.Name from Message115 t1 join tbl t2 ON...."
В "объект в списке" должен содержать переменные $f_Url, $f_Name , верно?
17.08.2010, 18:44
malich
Андрей Малков

Зарегистрирован:
2005-08-09
Сообщений: 522

В системных настройках компонента должна быть примерно следующая запись
Код:
$query_join = " LEFT JOIN MessageXX as parent ON (a.Message_ID=parent.Message_ID)";
$query_select = " Name as new_Name, Id as new_Id";
$result_vars = '$new_Name, $new_Id';

Теперь у вас будут доступны переменные $new_Name и $new_Id

Можете данные второй таблицы поместить в массив:
Код:
      $massiv = array();
$res = mysql_query("SELECT `Message_ID`, `Name` FROM `MessageXX` WHERE `Checked`='1'");
while ($row=mysql_fetch_assoc($res))
{
$massiv[$row[Message_ID]] = array_merge( $row,
array("Name"=>"$row[Name]"
));
}

Затем выводить информацию из массива
Код:
".$massiv[XX][Name]."
17.08.2010, 19:12
sparton
Шекера Евгений

Зарегистрирован:
2010-03-16
Сообщений: 141

Андрей, в очередной раз спасибо за развернутый ответ! Попробую Ваш вариант.
17.08.2010, 23:17
sparton
Шекера Евгений

Зарегистрирован:
2010-03-16
Сообщений: 141

Цитата:
$result_vars = '$new_Name, $new_Id';
- именно этой строки не хватало
198 196 2010-08-17 23:17:59 10655
Описание проекта