1

チェックボックスの結果を格納するいくつかの配列を含む配列を作成したいと思います。

category->subcategory->choice

これが可能かどうかはわかりませんが、次のようなものが必要です。

<input type="hidden" name="category[]" />
<input type="checkbox" name="subcat1[]" value="something" />
<input type="checkbox" name="subcat1[]" value="somewhere" />
<input type="checkbox" name="subcat2[]" value="something" />
<input type="checkbox" name="subcat2[]" value="somewhere" />

次のように、PHPを使用してカテゴリ配列のループを実行できるようにしたいと思います。

foreach($_POST['category'] as $sub){
    switch($sub){
        case 'subcat1':
            foreach($sub as $val){
                //prepare $val to insert into database X
            }
            break;
        case 'subcat2':
            foreach($sub as $val){
                //prepare $val to insert into database Y
            }
            break;
    }
}
4

1 に答える 1

1

思ったより簡単です:

<input type="checkbox" name="category[subcat1][]" value="something" />
<input type="checkbox" name="category[subcat1][]" value="somewhere" />
<input type="checkbox" name="category[subcat2][]" value="something" />
<input type="checkbox" name="category[subcat2][]" value="somewhere" />

その後:

foreach($_POST['category'] as $subCategoryName) {
    foreach ($subCategoryName as $item) {
        // ...
    }
}

ただし、異なるサブカテゴリの意図した処理が類似していない場合は、それらを異なる配列に投稿した方がよいでしょう。

于 2012-07-03T19:17:59.647 に答える