我用smarty模板写的,日历按月显示
从数据库查出当月数据的日期(日),要显示在这个日历上。
现在的问题是我写了两个循环
- PHP code
- {$events[e].event_name}
//当月天数循环(比如现在是6月就是30天)
{section name=d loop=$dayofmonth}
//数据库查出的数据记录循环
{section name=e loop=$events}
//如果数据库查出的记录的日期(天day)==循环的当月天数执行如下显示
{if ($events[e].event_starttime|date_format:"%d") == ($smarty.section.d.index+1)}
{$events[e].event_starttime|date_format:"%d"}
{/if}
{/section}
//[color=#FF0000]问题现在就在这里,下面的条件3,4,6,11,12就是我从数据库查出数据的天(day),[color=#00FF00]为了不重复输出[/color],我写了下面的if判断,问题是我的月份是变化的,所以数据库查找出来的数据也是变化的,所以不可能每个月都是3,4,6,11,12。要根据数据库的数据改变,所以我的想法是下面这个if怎么改写?smarty模板里的if条件能循环?或者有其他思路?各位大虾帮忙,想了一天了[/color]
{if (($smarty.section.d.index+1) != 3)&&
(($smarty.section.d.index+1) != 4)&&
(($smarty.section.d.index+1) != 6)&&
(($smarty.section.d.index+1) != 11)&&
(($smarty.section.d.index+1) != 12)}
------解决方案--------------------
你的数据是怎么存的?类似:
- SQL code
id date data 1 2012-06-01 none 2 2012-06-02 good 3 2012-07-05 true