所以我有一个可选服装项目列表作为复选框,可能比下面的 5 个更多。
shoes, pants, skirt, socks, jacket //list of possible choices
在所选项目的 jquery 中创建一个逗号分隔的数组。假设选择了以下内容:
shoes, socks, jacket //array posted as $_POST['clothes']
在数据库中,每个客户在衣服表中都有这些选项,衣服项目下有“是”或“否”。但是,服装项目的名称略有不同,但映射到相同的选项:
'clothes' table before insert
customer_id dress_shoes elegant_pants long_skirt ankle_socks biker_jacket
1 no yes no no no
使用 $_POST['clothes'],我试图遍历数组,将数据库中的相应字段更新为“是”,将非对应字段更新为“否”。我很难做到这一点。
'clothes' table after insert
customer_id dress_shoes elegant_pants long_skirt ankle_socks biker_jacket
1 yes no no yes yes
我做了一个 array_intersect 来让项目标记为“是”:
$clothesArray = array("shoes", "socks", "jacket"); // Posted clothes
$clothesArrayAll = array("shoes", "pants", "skirt", "socks", "jacket"); // All clothes
$common = array_intersect($clothesArrayAll,$clothesArray);
print_r($common);
Array ( [0] => shoes [3] => socks [4] => jacket )
我试图以某种方式遍历 $clothesArrayAll,对普通衣服表示“是”,对数组中的所有其他人表示“否”。然后,我尝试通过 PDO 更新“衣服”表,以最有效的方式将每个相应的字段设置为“是”或“否”。在得到上面的普通衣服阵列后,我被卡住了,不知道如何进行。
有人能帮助我吗?
谢谢!