Доброго времени суток. Вот столкнулся с проблемой при создании компонента...
Имеется несколько одинаковых таблиц с данными с одинаковой структурой, кол-во и название таблиц неизвестно и может изменяться.
Указывается в конфиге компонента. Например через пробел.
Так же есть одна таблица с названием для данных. Она постоянна и название не меняется.
Ну и требуется вывести данные из всех этих таблиц при этом взяв названия из другой. Например сначало выводятся данные из таблицы1, следом таблица2 и т.д.
Структура у таблиц имеет вид:
таблица с данными:
id item(предмет) player(имя пользователя) amount(количество)
таблица с названиями:
id item(предмет) name(название предмета)
Вот только не понимаю как это сделать.
Пытался запихнуть в цикл foreach, но чет не получается, либо может не то что-то сделал. В итоге чтобы не делал выводятся данные только из одной таблицы либо первой, либо последней.
Код для выборки для одной таблицы, а что сделать, чтобы выбиралось из всех не могу понять.
$user = & JFactory::getUser()->username;
$table_items = JComponentHelper::getParams('my_component')->get('tb_items'); //$table_items получается "название_таблицы1 название_таблицы2 название_таблицы3 название_таблицы_и_тд"
$list_table = explode(" ", $table_items); //разбиваем список таблиц на отдельные части
$size = count($list_table); // подсчитываем кол-во таблиц
$db = JFactory::getDbo();
$query = $db->getQuery(true) ;
$query
->select(array('a.*', 'b.name', 'b.item'))
->from($db->quoteName("items1", "a")) // items1 - одна из таблиц с данными
->join('INNER', $db->quoteName("item_names", "b"). ' ON (' . $db->quoteName('a.item'). ' = ' . $db->quoteName('b.item'). ')') // подбираем название из таблицы с названиями
->where($db->quoteName('a.player'). " LIKE '$user'"); //фильтруем по имени пользователя
return $query;
p.s. надеюсь разделом не ошибся