Доброе время суток.
Для выполнения некоторых задумок приходится изменять/дописывать php код движка. К сожалению, CMS не слишком поддаётся изменениям в виду деревянности кода.
Собственно структура следующая - есть фахл конфигурации php и шаблон. Из php файла в шаблон передаются данные, выходящие через foreach.
В стандартном варианте выборка делается из одной таблицы БД и цыклично выводится.
Мне нужно немного изменить идею и выводить данные не из одной таблицы БД, а из двух. Выбрать значения из 1-ой таблицы БД и вывести значения из 2-ой таблицы, где id строк равны значениям из 1-ой.
Я написал код вывода значений из 1-ой таблицы. На данном этапе пытаюсь "прикрепить" к ним значения из 2-ой.
PHP:
скопировать код в буфер обмена
foreach ($cach as $rows) { $topics = DB()->fetch_rowset("SELECT forum_id, topic_title FROM " . BB_TOPICS . " WHERE forum_id =". $rows['forum_id'] ." " ); $template->assign_block_vars('forums', array( 'FORUM_NAME' => $rows['forum_name'], 'FORUM_ICON' => $rows['forum_icon'], 'FORUM_DESC' => $rows['forum_desc'], 'FORUM_UPDATE' => bb_date($rows['post_edit_time']), )); }
Как видно, мне удалось вытащить необходимые данные из 2-ой таблицы через id. Вот тут я и столкнулся с проблемой. $topics это многомерный массив имеющий следующую структуру:
Спойлер (Отобразить)[0] => Array
(
[forum_id] => 87
[topic_title] => Фортитьюд / Fortitude
)
[1] => Array
(
[forum_id] => 87
[topic_title] => Фортитьюд / Fortitude
)
[2] => Array
(
[forum_id] => 87
[topic_title] => Фортитьюд / Fortitude
)
[3] => Array
(
[forum_id] => 87
[topic_title] => Фортитьюд / Fortitude
)
[4] => Array
(
[forum_id] => 87
[topic_title] => Фортитьюд / Fortitude
)
Как видно, одному id принадлежит 5 записей и их все нужно вывести.
Исходя из устройства движка
Выводить в шаблон можно лишь одну переменную. Поэтому возник вопрос: Как пять элементов массива вывести в одну переменную при этом имея возможность форматировать текст?
Решение, которое мне пришло в голову, выбрать каждый поочерёдно элемент массива topics по очереди, отформатировать и запихнуть в единую переменную и переменную уже передать в шаблон. К сожалению я не знаю, как подобное осуществить и куда рыть.
Помогите решить проблему, пожалуйста.
|