我有一个窗体,其中包含从表中加载的复选框组。表字段是MySQL TINYINT字段,其中1表示真,0表示假,并且因此命名为:frequency_sun
,frequency_mon
,frequency_tue
, frequency_wed
,frequency_thu
,frequency_fri
, frequency_sat
。尝试从窗体中检索复选框值
的形式设置这样:
<?php
$checked = ($frequency_sun==1) ? 'checked="checked"' : '';
echo "<input type=\"checkbox\"" . $checked . "name='frequency[sun]' value=".$frequency_sun." >Sunday";
$checked = ($frequency_mon==1) ? 'checked="checked"' : '';
echo "<input type=\"checkbox\"" . $checked . "name='frequency[mon]' value=".$frequency_mon." >Monday";
$checked = ($frequency_tue==1) ? 'checked="checked"' : '';
echo "<input type=\"checkbox\"" . $checked . "name='frequency[tue]' value=".$frequency_tue." >Tuesday";
$checked = ($frequency_wed==1) ? 'checked="checked"' : '';
echo "<input type=\"checkbox\"" . $checked . "name='frequency[wed]' value=".$frequency_wed." >Wednesday";
$checked = ($frequency_thu==1) ? 'checked="checked"' : '';
echo "<input type=\"checkbox\"" . $checked . "name='frequency[thu]' value=".$frequency_thu." >Thursday";
$checked = ($frequency_fri==1) ? 'checked="checked"' : '';
echo "<input type=\"checkbox\"" . $checked . "name='frequency[fri]' value=".$frequency_fri." >Friday";
$checked = ($frequency_sat==1) ? 'checked="checked"' : '';
echo "<input type=\"checkbox\"" . $checked . "name='frequency[sat]' value=".$frequency_sat." >Saturday";
?>
我怀疑这是一部分是不必要的和/或笨拙,但是这不是我的主要问题,至少不会立即。 无论如何,复选框组正在正确加载。我想通过一个变量设置为$_POST
数据检索表单数据:
$frequency = $_POST['frequency'];
//然后我设置变量在SQL UPDATE使用这样的:
$frequency_sun = (isset($frequency['sun']) ? $frequency['sun'] : $frequency_sun);
$frequency_mon = (isset($frequency['mon']) ? $frequency['mon'] : $frequency_mon);
$frequency_tue = (isset($frequency['tue']) ? $frequency['tue'] : $frequency_tue);
$frequency_wed = (isset($frequency['wed']) ? $frequency['wed'] : $frequency_wed);
$frequency_thu = (isset($frequency['thu']) ? $frequency['thu'] : $frequency_thu);
$frequency_fri = (isset($frequency['fri']) ? $frequency['fri'] : $frequency_fri);
$frequency_sat = (isset($frequency['sat']) ? $frequency['sat'] : $frequency_sat);
在检查特定复选框时似乎没有返回值。对于我的测试,我在表中将frequency_wed
设置为0,并且想将其设置为1,但是我无法弄清楚我要出错的地方。
复选框在检查时报告'on'。 – DevZer0