Php 使用枚举和自定义列更新数据库中的多个复选框
我有一个表,其中自定义列由管理员创建,每个列都有hiis自己的枚举,带有“0”、“1”。在这里,您可以选择列是真是假 现在我想做一个选项,管理员可以通过复选框来更新这个true或false 选中复选框Php 使用枚举和自定义列更新数据库中的多个复选框,php,mysql,checkbox,pdo,enums,Php,Mysql,Checkbox,Pdo,Enums,我有一个表,其中自定义列由管理员创建,每个列都有hiis自己的枚举,带有“0”、“1”。在这里,您可以选择列是真是假 现在我想做一个选项,管理员可以通过复选框来更新这个true或false 选中复选框 <div class="col-sm-9"> <?php if(isset($produci[0])) { foreach($produci as $key => $avlue) { ?> <div class="row-
<div class="col-sm-9">
<?php
if(isset($produci[0])) {
foreach($produci as $key => $avlue) {
?>
<div class="row-fluid">
<label>
<input name="clickedproduct[]" type="checkbox" value="<?php echo $avlue['name']; ?>" <?php echo (($_SERVER['REQUEST_METHOD'] == 'POST') ? ((isset($_POST[$avlue['name']])) ? ' value="'.$avlue[$avlue['name']].'" checked' : ' value="'.$avlue[$avlue['name']].'"') : (($avlue[$avlue['name']] == '1') ? ' value="'.$avlue[$avlue['name']].'"checked' : ' value="'.$avlue[$avlue['name']].'"')); ?>>
<?php echo $avlue['name']; ?>
</label>
</div>
<?php } }else{
echo '<font color="red">Er zijn nog geen producten aangemaakt.</font>';
} ?>
</div>
有人提供解决方案吗?您应该通过下面的方式切换枚举列
UPDATE table_name SET column_name = IF(column_name=1, 0, 1);
在代码中
$sql = "UPDATE products_access SET `{$column}` = IF( `{$column}`=1, 0, 1) WHERE products_access.id = :id";
$product_access = $dbh->prepare($sql);
$product_accessvar = trim($user['id']);
$product_access->bindParam(':id', $product_accessvar, PDO::PARAM_INT);
//$product_access->bindParam(':enum', $clickedproduct, PDO::PARAM_INT);
$product_access->execute();
我已经编辑了你的代码,但是我现在有一个问题,当列枚举为1时,列枚举变为0,但是,当它为1时,他将删除该枚举,并且不给我任何内容。有一个问题,如果复选框是否选中,则需要选中该复选框,因为现在选中该复选框时,他将检查它是否为真,并在它相等时进行更改。
$sql = "UPDATE products_access SET `{$column}` = IF( `{$column}`=1, 0, 1) WHERE products_access.id = :id";
$product_access = $dbh->prepare($sql);
$product_accessvar = trim($user['id']);
$product_access->bindParam(':id', $product_accessvar, PDO::PARAM_INT);
//$product_access->bindParam(':enum', $clickedproduct, PDO::PARAM_INT);
$product_access->execute();