php mysql 如何检查多个复选框添加/删除选项和更​​新数据库

标签 php mysql

我有 3 个表 - 产品、类别、产品类别。

表 product -> PID , product name

表格类别->CID,类别名称

表 product_category -> PID, CID

我的问题是处理 product_category 表。让我详细解释一下。

当我添加新产品时,我需要更新 2 个表 -> product 和 product_category。

product_category 用于存储产品 ID 和类别 ID,因为 1 个产品可以分配给多个类别。

添加新商品时,1个输入框加1个数组显示分类,供用户选择。例如。

foreach($display->category_name as $iid => $name) {

            echo '

                <div class="checkbox">
                    <label><input type="checkbox" name="check_list[]" value="'.$iid.'">'.$name.'</label>
                </div>

                ';
        }

所以当点击更新按钮时,它会显示用户之前输入的记录。

enter image description here

所以我的问题是如何检查用户是否选中了 1 个或多个选项或取消选中 1 个或多个选项或删除所有选项。然后相应地更新表 product_category。

引用截图

Case 1:(这个很简单,只需要再加1个选项)

Before->检查Western food和Mix food。

After->西餐,混餐+中餐

案例2:(去除西餐)

Before->检查Western food和Mix food。

After->仅检查混合食物。

案例3:(去掉西餐加中餐)

Before->检查Western food和Mix food。

After->检查混合食物和中国食物。

最佳答案

使用 array_diff() 获取未检查值的列表:

$old_check_list = ['1', '2'];
$new_check_list = ['2', '3'];
$unchecked_values = array_values(array_diff($old_check_list, $new_check_list));

关于php mysql 如何检查多个复选框添加/删除选项和更​​新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39232987/

相关文章:

PHP 和 ??运算符(operator)

php - 迁移 Codeigniter 3 中的 "up"方法无效

python - Python BeautifulSoup + MySql 编码错误

mysql - 对数字进行计数和取子串

PHP MySQL 数据库根据行数自动递增

php - CSS 还是 PHP?颜色是原始颜色的 80% 但没有 "transparency"?

php - 如何删除具有最少信息集的重复行?

php - 将数组保存到数据库 mysql/php

php - mySQL 或 MSSQL 最适合拍卖网站?

mysql - 如何使用jdbc将从用户获取的数据插入mysql