嗨,我有这个选择复选框,工作日是复选框sunday monday tuesday wednesday thursday friday saturday
。用户可以根据需要选择多个。我将数据保存到我的数据库,例如用户选择星期一星期一星期二,我将其保存到我的字段1-2-3只有一个字段名称available_days_per_week。现在我的问题是,当我查询数据并显示到我的编辑页面时,我希望只检查1-2-3。发生的事情是数据增加了一倍。我的代码工作但显示为double。下面是我的代码
<tr>
<th>Available days per week</th>
<td>
<?php $daysPerWeeks = $query->available_days_per_week; ?>
<?php $daysPerWeeks1 = explode("-", $daysPerWeeks); ?>
<?php foreach($daysPerWeeks1 as $value): ?>
<?php foreach($daysPerWeekCheckboxes as $key=>$week): ?>
<input type="checkbox" name="available_days_week" value="<?php echo $key ?>" <?php echo($value == $key) ? 'checked="checked"' : ''?> ><?php echo $week; ?><br>
<?php endforeach; ?>
<?php endforeach; ?>
</td>
</tr>
会像这样显示在我的页面中
<tr>
<th>Available days per week</th>
<td>
<input type="checkbox" name="available_days_week" value="1" checked="checked" >Sunday<br>
<input type="checkbox" name="available_days_week" value="2" >Monday<br>
<input type="checkbox" name="available_days_week" value="3" >Tuesday<br>
<input type="checkbox" name="available_days_week" value="4" >Wendesday<br>
<input type="checkbox" name="available_days_week" value="5" >Thursday<br>
<input type="checkbox" name="available_days_week" value="6" >Friday<br>
<input type="checkbox" name="available_days_week" value="7" >Saturday<br>
<input type="checkbox" name="available_days_week" value="1" >Sunday<br>
<input type="checkbox" name="available_days_week" value="2" checked="checked" >Monday<br>
<input type="checkbox" name="available_days_week" value="3" >Tuesday<br>
<input type="checkbox" name="available_days_week" value="4" >Wendesday<br>
<input type="checkbox" name="available_days_week" value="5" >Thursday<br>
<input type="checkbox" name="available_days_week" value="6" >Friday<br>
<input type="checkbox" name="available_days_week" value="7" >Saturday<br>
<input type="checkbox" name="available_days_week" value="1" >Sunday<br>
<input type="checkbox" name="available_days_week" value="2" >Monday<br>
<input type="checkbox" name="available_days_week" value="3" checked="checked" >Tuesday<br>
<input type="checkbox" name="available_days_week" value="4" >Wendesday<br>
<input type="checkbox" name="available_days_week" value="5" >Thursday<br>
<input type="checkbox" name="available_days_week" value="6" >Friday<br>
<input type="checkbox" name="available_days_week" value="7" >Saturday<br>
</td>
</tr>
你已经注意到它会加倍 继续我的静态代码将返回几周
//return days per week checkbox
public static function getDaysPerWeekCheckbox(){
return array(
1 =>'Sunday',
2 =>'Monday',
3 =>'Tuesday',
4 =>'Wendesday',
5 =>'Thursday',
6 =>'Friday',
7 =>'Saturday'
);
}
如何避免在编辑页面中显示时不会加倍的数据? 有人能帮助我解决这个问题吗?。非常感谢任何帮助。
答案 0 :(得分:0)
你正在不必要地循环。试试这个:
<?php $days = getDaysPerWeekCheckbox(); ?>
<?php foreach($days as $index => $day_name): ?>
<input type="checkbox" name="available_days_week" value="<?php echo $index ?>" <?php echo(in_array($index, $daysPerWeeks1)) ? 'checked="checked"' : ''?> ><?php echo $day_name; ?><br>
<?php endforeach; ?>