コンテストで開催されるクラスへの申し込みを容易にするチェックボックス配列と、そのクラスの価格を入力するための入力を含むフォームがあります。
そのため、選択したチェックボックス(クラスフィールド)の値であるクラスの行のIDをデータベースからループしています。現在、価格はデータベースに保存されていないため、本質的には、ユーザーが価格を入力するための入力フィールドにすぎません。
入力フィールドの名前を に設定したprice[]
ので、フォーム送信の価格の配列になります。
私が抱えている問題は、foreach ループを使用して配列を反復処理することです。
$classes= $_POST["classes"]; == (checkbox )
$price= $_POST["price"]; == ( input text field )
my foreach is like so
foreach($classes as $key=>$n){
// print_r($price[$key]);
mysql_query("INSERT INTO tbl_set_shows (show_id, class, price)
VALUES (
'$showid',
'$n',
'$price[$key]')")
or die(mysql_error().'error');
}
たとえば、クラス オプション 1、2、および 3 を (この順序で) チェックすると、問題なく、価格とクラスの値がテーブルに完全に表示されます。
ただし、クラス 5、10、および 15 を価格入力と一緒に選択すると、価格の値が失わ// print_r($price[$key]);
れるため、その順序に従わない場合は空になります。
誰かが私を正しい方向に向けることができますか?