MySQL データベースへの複数のチェックボックスおよびテキストボックス配列の挿入
MySQL データベースへの複数のチェックボックスおよびテキストボックス配列の挿入は、難しい作業になる場合があります。これは、チェックボックスがオンになっている場合にのみ送信される場合に特に当てはまります。これを実現する方法の詳細な説明は次のとおりです:
HTML フォーム
各チェックボックスの name 属性に明示的なインデックスがあることを確認します:
<input tabindex="1" name="checkbox[0]" type="checkbox" value="17" />
さらに、名前に同じインデックスを含めて、テキストボックス配列がチェックボックスに対応していることを確認してください。属性。
PHP スクリプト
1.チェックボックスの処理:
foreach を使用してチェックボックス配列を反復処理し、各値に対応するインデックスを付けます:
foreach($_POST['checkbox'] as $i => $check) { $checkArray[$i] = $check; }
2。配列の結合:
チェックボックス配列のインデックスは他の配列と一致しない可能性があるため、手動で結合する必要があります。別の foreach ループを使用してチェックボックス配列を反復処理し、その値を他の配列の対応する値と結合します:
foreach($checkArray as $i => $check) { $itemArray[$i] = $_POST['item'][$i]; $quantityArray[$i] = $_POST['quantity'][$i]; }
3.データベースへの挿入:
配列を正しく結合したので、データベースへの挿入を実行できます。 SQL インジェクションを回避するには、bind_param でプリペアド ステートメントを使用します。
$stmt = $conn->prepare("INSERT INTO purchases (Product, Quantity, Price) VALUES (?, ?, ?)"); $stmt->bind_param("sis", $product, $quantity, $price); foreach ($itemArray as $i => $product) { $quantity = $quantityArray[$i]; $price = $_POST['price'][$i]; // Get the price from the HTML $stmt->execute(); }
追加のヒント:
以上が複数のチェックボックスおよびテキストボックス配列データを MySQL データベースに効率的に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。