嗨我将年商店的数据像这样序列化了
a:2:{i:0;s:4:"2011";i:1;s:4:"2013";}并有一个预定义的年份列表,如下所示:
$current_year = date('Y');
for($year = 2011; $year < $current_year; $year++)
{
$year;
}
所以,我想填写一个复选框列表,如下所示:
[x] 2011年
[] 2012年
[x] 2013年
...
如果年份不在预定义年份(在本例中为2011,2012和2013),则应取消选中年份。
我已经搜索过但到目前为止最近的解决方案还没有在PHP中
答案 0 :(得分:3)
$years = unserialize($mysql_years);
$current_year = date('Y');
for ($year = 2011; $year < $current_year; $year++) {
$checked = '';
if (in_array($year, $years)) {
$checked = ' checked';
}
echo "<input type=checkbox value=$year$checked>";
}
答案 1 :(得分:1)
我找到了解决方案。检查一下。
<?php
$dat='a:2:{i:0;s:4:"2011";i:1;s:4:"2013";}';
$data=unserialize($dat);
$current_year = date('Y');
for($year = 2011; $year <= $current_year; $year++)
{
if(in_array($year,$data)) { $checked="CHECKED"; } else { $checked=""; } ?>
<input type="checkbox" value="<?php echo $year; ?>" name="year[]" <?php echo $checked; ?> > <?php echo $year; ?> <br/>
<?php } ?>