我的数据库中有一个名为 Weeks 的字段,其中的条目格式为 1,2,3,4 或 1,3,5,6 < / em>范围从最小1到最大12 。我想知道如何使用SQL从字段中选择并将其输出为复选框。
例如,如果Weeks的值为 1,2,3,4 ,则结果输出将是以下一系列复选框:
checked Week 1
checked Week 2
checked Week 3
checked Week 4
unchecked Week 5
unchecked Week 6
unchecked Week 7
unchecked Week 8
unchecked Week 9
unchecked Week 10
unchecked Week 11
unchecked Week 12
答案 0 :(得分:2)
如果您有一系列已检查的周(即array(1, 3, 6, 7)
),您可以循环使用12周,看看是否应检查当前周。
$selected_weeks = array(1, 3, 6, 7); // retrieve this from database
for($i=0; $i<12; $i++) { // loop twelve times
$checked = in_array($i, $selected_weeks) ? ' checked="checked"' : '';
echo '<input type="checkbox" name="selected_weeks[]" value="'. $i . '"'. $checked . ' />';
}
答案 1 :(得分:1)
我将假设您能够从数据库中提取数据,并且您正在寻找PHP代码来创建复选框。
$result = <YOUR DB RESULTS>;
$checked_array = explode(',', $result);
for ($i = 1; $i <= 12; $i++)
{
$checked = (in_array($i, $checked_array)) ? 'checked="checked"' : '';
echo '<input type="checkbox"' . $checked . ' /> Week ' . $i;
}
答案 2 :(得分:0)
Sory粗鲁,但你正试图让别人解决你的问题......
无论如何尝试打印从1到12的所有复选框,并且在每个复选框上,如果当前编号位于数据库的数组中,则应检查in_array()。如果所有选定的值都存储在一个列中,您可能必须将db字段拆分为“,”以使其成为一个数组...
如果出现任何问题,请尝试并回写。