是否可以获取未选中复选框的值?我怎么能这样做?我只想获得它的价值并将其保存在我的数据库中。请帮助我。
这是我的代码:
此代码仅显示复选框的值,但我的客户端还希望获取未选中复选框的值,并将未选中复选框的值保存在数据库中,并在已选中的复选框中标记为“不存在”将得到该值并保存到数据库中并标记为“PRESENT”。
<?php
$connect = mysql_connect("localhost","root","");
mysql_select_db("db_fpes",$connect); //select the table
$result_prof = mysql_query ("SELECT * FROM professors where fac_stat = 1 ORDER BY Faculty_status DESC,Faculty_name ASC ");
$row_prof = mysql_fetch_assoc($result_prof);
$total_prof = mysql_num_rows($result_prof);
if(isset($_POST['btnSubmit'])) {
$checkBox = $_POST['chkFile'];
for ($i=0; $i<sizeof($checkBox); $i++)
{
echo $checkBox[$i];
}
}
?>
<?php do{ ?>
<form name="formDemo" method="post" action="">
<input type="checkbox" name = "chkFile[]" value = "<?php echo $row_prof['Faculty_code']; ?>"/> </td> <!--//edit,delete -->
<?php } while($row_prof = mysql_fetch_assoc($result_prof));?>
<input type="submit" name="btnSubmit" value="Submit"/>
</form>
答案 0 :(得分:1)
使用isset()
检查值,如果值不为空,则设置复选框。否则它不受控制。
if(isset($_POST['mycheckbox']) {
echo 'checked';
} else {
echo 'unchecked'
}
答案 1 :(得分:0)
虽然复选框只能有一个发送或不发送的值,但如果你想要总是有某种响应,你可以使用带有未设置值的隐藏html字段,这只会在复选框中发送不活跃:
<input type="hidden" name="some_checkbox" value="Unchecked" />
<input type="checkbox" name="some_checkbox" value="Checked" />
确保它们具有相同的名称,并且在复选框之前定义隐藏字段。
答案 2 :(得分:0)
根据您更新的问题,修改并调整了答案。看看下面的代码;它做你想要的。顺便说一句,我正在使用前缀字符变量来更容易地识别数据类型(a =表示数组,i =表示int,r =表示资源等)。另外,我建议您查看PDO或MySQLi库,因为不推荐使用mysql-library(as of PHP 5.5.x)。
<?php
$rConnection = mysql_select('localhost', 'root', 'yourpwd');
mysql_select_db('yourdb', $rConnection);
$rQuery = mysql_query("
SELECT *
FROM `professors`
WHERE `fac_stat` = 1
ORDER BY `Faculty_status` DESC,
`Faculty_name` ASC");
$aAllCheckboxValues = array();
while($aRow = mysql_fetch_assoc($rQuery)) {
$aAllCheckboxValues[] = $aRow['Faculty_code'];
}
if(isset($_POST['btnSubmit'])) {
$aChecked = array();
$aUnchecked = array();
foreach($_POST['chkFile'] as $sFacultyCode) {
# Validate if the value of the posted checkbox is valid
if(in_array($sFacultyCode, $aAllCheckboxValues)) {
$aChecked[] = $sFacultyCode;
}
}
$aUnchecked = array_diff($aAllCheckboxValues, $aChecked);
echo '<pre>';
echo 'Checked:';
print_r($aChecked);
echo 'Unchecked:';
print_r($aUnchecked);
echo '</pre>';
}
?>
<form name="formDemo" method="post" action="">
<?php foreach($aAllCheckboxValues as $sFacultyCode) { ?>
<input type="checkbox" name="chkFile[]" value="<?php echo $sFacultyCode ?>"/> <?php echo $sFacultyCode ?><br/>
<?php } ?>
<input type="submit" name="btnSubmit" value="Submit"/>
</form>