Я занимаюсь разработкой компонента Joomla. Где у меня годы, месяцы и даты тура.
Идея состоит в том, чтобы иметь
2011 2012 2013 2014 (ссылки) и, скажем, 2011 активен. ниже у меня есть
сентябрь, 2011
концерт в сентябре №1;
концерт в сентябре № 2;
концерт в сентябре № 3;
октябрь, 2011
концерт в октябрь № 1;
концерт в октябрь № 2;
концерт в октябрь №3;
ноябрь, 2011
концерт в № 1;
концерт в ноябре № 2;
концерт в ноябре № 3;
Полагаю, вы понимаете структуру дисплея.
У меня есть 1 таблица, и на моей странице, сделанной на заказ, я справлюсь с этим без проблем но я разрабатываю его на Joomla, поэтому я немного растерялся.
У меня есть 1 функция getYEAR, которая отображает годы, а в Tmpl default.php у меня foreach.
Теперь я создал еще одну функцию getMonth, которая отображает месяцы и выглядит так:
$now = date('Y');
$year = JRequest::getInt('year', $now);
$db =& JFactory::getDBO();
$query = "SELECT DISTINCT MONTH( date ), #__concert_month.monthname
FROM #__concert_info
JOIN #__concert_month ON #__concert_month.id = MONTH( date )
WHERE YEAR( date ) = {$year} AND date >= CURDATE( )
ORDER BY MONTH( date )";
$db->setQuery( $query );
$this->_month = $db->loadObjectList();
return $this->_month;
И это нормально. но проблема заключается в том, что я хочу ВЫБЕРИТЕ места в турах по месяцам, как я описал выше Месяц -> концерты, Месяц -> концерты
Обычно я бы сделал
SElECT smth1
foreach1 (smth1 as smt1)
echo Monthname $id=smth1
SELECT smth2 WHERE MONTH( date ) = $id
foreach2(smth2 as smt2)
endforeach2
endforeach1
Как я могу иметь SELECT внутри FOREACH в tmpl-> default.php? Или есть другое решение?