parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Теперь такая проблема

Beau 28.02.2006 15:30

	$events[^table::sql{
		SELECT
			...
			if(now() > date_s, "yes", "no") as done
		FROM
			events
		LEFT JOIN events_dates ON events.id=events_dates.id
		WHERE 
			events_dates.date = '${now.year}-${now.month}-${now.day}'
		GROUP BY ID
		ORDER BY 'date_s' ASC
	}[$.limit(16)]]


<div style="padding-left:20%; padding-top:50px; font-family:'Times New Roman', Times, serif;">

^if($events){

$actual[^events.select($events.done eq no)]

^if($actual){

<h3>Главное</h3>

$main[^table::create[$actual; 
	$.limit(3) 
]] 

	^main.menu{<div><a href="/events/?id=$main.id">^taint[optimized-as-is][$main.header]</a></span></div>}[]
	<br><br><br>


<h3>Также</h3>

$other[^table::create[$actual; 
	$.offset(3)
]] 

	^other.menu{<div"><a href="/events/?id=$other.id">^taint[optimized-as-is][$other.header]</a></div>}[]
	<br><br><br>
}


$done[^events.select($events.done eq yes)]

^if($done){

<h3>Пропустили</h3>

	^done.menu{<div><a href="/events/?id=$done.id">^taint[optimized-as-is][$done.header]</a></div>}[]

}


}{нет ниче}
Получаю события, выделяю первые 3 как главные (ближайшие), потом остальные и те, которые закончились. Смог только так, правильно ли? Или можно как то лучше это сделать?

И проблема в том, что если у события несколько дат, то он берет только первую и судит по ней. Например, если есть событие, у которого время 10:00...11:30 и 13:00...14:30, то в 12 он показывает, что событие прошло. Как сделать так, чтобы после прошествия первой даты он показывал событие, но уже со 2 датой, которая еще актуальа. Можно убрать GROUP BY ID, но не хотелось бы, чтобы получилась свалка ссылок на одно и то же события с разными датами.