编辑:
所以,我有多个复选框。我的目标是在MySQL中插入复选框值(如果选中),如果未选中则从MySQL中删除复选框值。一切正常,除了删除值。 PHP不知道哪些复选框是"未选中"。有什么想法吗?
到目前为止,我有这个:
if(isset($_POST['values']))
{
foreach($_POST['values'] as $checked)
{
$query5 = ("
INSERT INTO ecust_user_contract (fk_contract, fk_cust_user)
VALUES ('".$checked."','".$username_u."')
");
$result5 = mysqli_query($conn,$query5);
}
}
if(!isset($_POST['values']))
{
foreach($_POST['values'] as $unchecked)
{
$query5 = ("
INSERT INTO ecust_user_contract (fk_contract, fk_cust_user)
VALUES ('".$unchecked."','".$username_u."')
");
$result5 = mysqli_query($conn,$query5);
}
}
答案 0 :(得分:2)
这是我的复选框:
<input type='checkbox' name='Event' value='CB1' />
在您处理表单的地方,请阅读本文:
$event = $_POST['Event'];
这会获得复选框的值:
echo $event;
但请确保其设置或您将获得空值。
如果你有几个,你可以这样做:
<input type='checkbox' name='Event[]' value='CB1' />
<input type='checkbox' name='Event[]' value='CB2' />
$event = array_values($_POST['Event']);
要获取每个值,请将其置于for循环中:
for ($val = 0; $val < count($event); $val++)
{
//do something
echo $event[$val];
}
答案 1 :(得分:1)
假设您已使用POST
方法提交表单,您可以执行以下操作:
的HTML :
<input type="checkbox" name="values[]" value="val1">
<input type="checkbox" name="values[]" value="val2">
<input type="checkbox" name="values[]" value="val3">
的PHP :
if(isset($_POST['values'])) {
foreach($_POST['values'] as $checked){
mysqli_query("insert into tablename(value) values($checked)");
}
}else{
// use Delete query
}
答案 2 :(得分:1)
试试这段代码:
<input type='checkbox' name='Event[]' value='CB1' />
<input type='checkbox' name='Event[]' value='CB2' />
在表单中使用带有这样数组的多个复选框。
提交表单后,使用以下内容检查是否选中了复选框。
<?php
if(isset($_REQUEST['Event']))
{
// do what you want for checked the boxes
}
else
{
// do what you want for not checked any box
}
?>
- 感谢
答案 3 :(得分:0)
我想你是在php中向服务器端代码提交一些html表单。 如果你的html页面看起来像:
<input type="checkbox" name="test" value="value1">
提交表格后,您可以查看:
isset($_POST['test'])
or
if ($_POST['test'] == 'value1')
答案 4 :(得分:0)
假设您的复选框HTML代码如下:
<input type="checkbox" name="abc" value="yes" />
然后在php方面:
<?php
if( isset( $_POST['abc'] ) ) {
--Connect to your database--
--write your query for Insertion--
}
else {
--Connect to your database--
--write your query for Deletion--
}
?>
答案 5 :(得分:0)
为我工作,将检查和取消选中值保存到mysql
HTML:
<form method="post" action="jawab25.php">
<input type="hidden" name="check_lista[]" value="<?php echo $r["id"]?>">
<input type="checkbox" name="check_listb[]" value="<?php echo $r["id"]?>">
<input value="Check" type="Submit">
jawab25.php:
foreach($_POST['check_lista'] as $itema){
$string="update trans set ck='N' where id='$itema'";
$tampil=mysql_query($string);
}
foreach($_POST['check_listb'] as $itemb){
$string="update trans set ck='Y' where id='$itemb'";
$tampil=mysql_query($string);
}