ホームページ  >  に質問  >  本文

複数のチェックボックスの値と異なる入力値を全体としてデータベースに保存します

<p>データ/値をデータベースに挿入しようとしています。 </p> <p>これは機能しますが、問題は、2 番目の値/チェックボックスのみを選択するたびに、他の入力値が最初の入力の値を取得することです。 </p> <pre class="brush:php;toolbar:false;"><form action="{{url('/reservation')}}" method="post"> @csrf <div class="行列-12"" <div> <p class='mybox text-dark'><input type="checkbox" name="prod_name[]" value="JasminBooks"/>JasminBooks</p> </div> <div> <input type="number" name="prod_qty[]" min="1" value="1"class="form-control ml-2"> </div> <div class="行列-12"" <div> <p class='mybox text-dark'><input type="checkbox" name="prod_name[]" value="KnowHowBooks"/>KnowHowBooks</p> </div> <div> <input type="number" name="prod_qty[]" min="1" value="1"class="form-control ml-2"> </div> </div> </form></pre> <p>これは私のコントローラ関数のコードです</p> <pre class="brush:php;toolbar:false;">パブリック関数の予約(Request $request) { $data = 新しい予約; $data->name = $request->name; $data->email = $request->email; $data->電話 = $request->電話; $data->address = $request->address; $data->date = $request->date; $data->time = $request->time; $products = null; $checked_array = $_POST['prod_name']; foreach($_POST['prod_name'] as $key => $value) { if (in_array($_POST['prod_name'][$key], $checked_array)) { $products .= $_POST['prod_qty'][$key]." ".$_POST['prod_name'][$key].", "; } } $data->products = $products; $data->save(); return redirect()->back(); }</pre> <p>いつ</p> <ol> <li>最初のチェックボックスを選択して値 5 を入力すると、結果は「5 JasminBooks」になります。</p><p></li> <li>両方のチェックボックスを選択し、最初のチェックボックスの隣の最初の入力ボックスと 2 番目のチェックボックスの隣の 2 番目の入力ボックスに数量 12 を入力すると、数量が 7 の場合、結果は「12 JasminBooks、7 KnowHowBooks、 " </li> <li>しかし、2 番目のチェックボックスのみを選択し、数量入力ボックスに 13 を入力すると、結果は「1 KnowHowBooks」となり、2 番目に入力した値ではなく、最初に入力したデフォルト値が使用されます。数量 13 を入力します。入力ボックスに入力します。 </li> </ol> <p>コードに何を追加/変更すればよいですか? </p>
P粉807471604P粉807471604438日前493

全員に返信(1)返信します

  • P粉587780103

    P粉5877801032023-09-01 09:44:11

    これは、インデックスに基づいて数量フィールドを定義するためです。 1 つの入力が欠けていると、結果全体に影響を与える可能性があります。値をキーとして使用します:

    HTML:

    リーリー

    PHP:

    リーリー

    追記:Bhaumik氏が言ったように、Laravelでは$_POSTを使用しないでください。

    返事
    0
  • キャンセル返事