だから私はチェックボックスとしてオプションの衣料品のリストを持っています。以下の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'] を使用して、配列をループして、対応するフィールドを 'yes' に更新し、対応しないフィールドを db の 'no' に更新しようとしています。私はそれをするのに苦労しています。
'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 を介して「服」テーブルを更新しようとしています。上記の一般的な服の配列を取得した後、どうすればよいかわかりません。
誰か助けてくれませんか?
ありがとうございました!