フォームからデータベーステーブルに複数の行を挿入する

MikeOscarEcho

マネージャーが記入できるチェックリストフォームがあります。そして下部に、従業員が完了時にサインオフできる材料リストを入力します。材料の量は、20行以上にもなる可能性があります。以下は、それらが記入する行に含まれるものです。

        <tr><td><button type="button" class="addRow">Add Row</button></td></tr>
        <tr><th>WO# / Date <br/>(if added or changed after Revision 1)<th>Component Name and Number</th><th>Finish Sizes</th><th>Material</th><th>Total # Pieces</th><th>Work Order</th><th>Notes</th><th>Work Order</th><th>Notes</th><th>Work Order</th><th>Notes</th></tr>
        <tr>
            <td><input type="text" name='wo_num_and_date'/></td>
            <td><input type="text" name='comp_name_and_num'/></td>
            <td><input type="text" name='finish_sizes'/></td>
            <td><input type="text" name='material'/></td>
            <td><input type="text" name='total_num_pieces'/></td>
            <td><input type="text" name='workorder_num_one'/></td>
            <td><textarea rows="2" cols="12" name='notes_one'></textarea></td>
            <td><input type="text" name='workorder_num_two'/></td>
            <td><textarea rows="2" cols="12" name='notes_two'></textarea></td>
            <td><input type="text" name='workorder_num_three'/></td>
            <td><textarea rows="2" cols="12" name='notes_three'></textarea></td>
        </tr>

最初は1つの入力可能な行から始まり、次に行を追加できるjqueryがいくつかあります。

以下の挿入スクリプトは、フォームの最初の行のみを挿入しています。

if(isset($_POST['submit'])){
   $user = getuserinfo($loggedin_id);
   $posted_date = $_POST['posted_date'];
   $revision = $_POST['revision'];
   $per_wo_num = $_POST['per_wo_num'];
   $category = $_POST['category'];

   $wo_num_and_date = $_POST['wo_num_and_date'];
   $comp_name_and_num = $_POST['comp_name_and_num'];
   $finish_sizes = $_POST['finish_sizes'];
   $material = $_POST['material'];
   $total_num_pieces = $_POST['total_num_pieces'];
   $workorder_num_one = $_POST['workorder_num_one'];
   $notes_one = $_POST['notes_one'];
   $workorder_num_two = $_POST['workorder_num_two'];
   $notes_two = $_POST['notes_two'];
   $workorder_num_three = $_POST['workorder_num_three'];
   $notes_three = $_POST['notes_three'];


$sql = "INSERT INTO checklist_revision (job_num, user_id, revision_num, category, posted_date, per_workorder_number)
VALUES ($job_num,
        $loggedin_id,
        $revision,
        $category,
        STR_TO_DATE('$posted_date', '%Y-%m-%d'),
        $per_wo_num);";

 mysqli_query($dbc3, $sql);


$revision_id = mysqli_insert_id($dbc3);

$sql2 = "INSERT INTO checklist_component_stock (revision, job_num, category, posted_date, wo_num_and_date, comp_name_and_number, finish_sizes, material, total_num_pieces, workorder_num_one, notes_one, signoff_user_one, workorder_num_two, notes_two, signoff_user_two, workorder_num_three, notes_three, signoff_user_three)
VALUES ('$revision_id',
        '$job_num',
        '$category',
        STR_TO_DATE('$posted_date', '%Y-%m-%d'),
        '$wo_num_and_date',
        '$comp_name_and_num',
        '$finish_sizes',
        '$material',
        '$total_num_pieces',
        '$workorder_num_one',
        '$notes_one',
        NULL,
        '$workorder_num_two',
        '$notes_two',
        NULL,
        '$workorder_num_three',
        '$notes_three',
        NULL);";

 mysqli_query($dbc3, $sql2);

追加する行数に関係なく、最初の行だけでなくすべてをテーブルに挿入するようにするにはどうすればよいですか?

Huseyinの答えを試した後のVARDUMP:

array (size=17)
  'submit' => string 'Submit!' (length=7)
  'posted_date' => string '2014-04-07' (length=10)
  'category' => string '1' (length=1)
  'revision' => string '4' (length=1)
  'revisionDate' => string '2014-04-07' (length=10)
  'per_wo_num' => string '2' (length=1)
  'wo_num_and_date' => string 'WO#5/2013-04-04' (length=15)
  'comp_name_and_num' => string 'Lift 2' (length=6)
  'finish_sizes' => string '2x2x2' (length=5)
  'material' => string 'P20' (length=3)
  'total_num_pieces' => string '1' (length=1)
  'workorder_num_one' => string '1' (length=1)
  'notes_one' => string 'OK' (length=2)
  'workorder_num_two' => string '2' (length=1)
  'notes_two' => string 'OK' (length=2)
  'workorder_num_three' => string '3' (length=1)
  'notes_three' => string 'NOT OK' (length=6) 
フセインババル

フォームで配列表記の名前を使用して、次のように実装できます。

<tr>
    <td><input type="text" name='wo_num_and_date[]'/></td>
    <td><input type="text" name='comp_name_and_num[]'/></td>
    <td><input type="text" name='finish_sizes[]'/></td>
    <td><input type="text" name='material[]'/></td>
    <td><input type="text" name='total_num_pieces[]'/></td>
    <td><input type="text" name='workorder_num_one[]'/></td>
    <td><textarea rows="2" cols="12" name='notes_one[]'></textarea></td>
    <td><input type="text" name='workorder_num_two[]'/></td>
    <td><textarea rows="2" cols="12" name='notes_two[]'></textarea></td>
    <td><input type="text" name='workorder_num_three[]'/></td>
    <td><textarea rows="2" cols="12" name='notes_three[]'></textarea></td>
</tr>

そしてphpで;

    if(isset($_POST['submit'])){
       $user = getuserinfo($loggedin_id);
       $posted_date = $_POST['posted_date'];
       $revision = $_POST['revision'];
       $per_wo_num = $_POST['per_wo_num'];
       $category = $_POST['category'];

       foreach ($_POST['wo_num_and_date'] as $k => $v) {
           $wo_num_and_date = $_POST['wo_num_and_date'][$k];
           $comp_name_and_num = $_POST['comp_name_and_num'][$k];
           $finish_sizes = $_POST['finish_sizes'][$k];
           $material = $_POST['material'][$k];
           $total_num_pieces = $_POST['total_num_pieces'][$k];
           $workorder_num_one = $_POST['workorder_num_one'][$k];
           $notes_one = $_POST['notes_one'][$k];
           $workorder_num_two = $_POST['workorder_num_two'][$k];
           $notes_two = $_POST['notes_two'][$k];
           $workorder_num_three = $_POST['workorder_num_three'][$k];
           $notes_three = $_POST['notes_three'][$k];


        $sql = "INSERT INTO checklist_revision (job_num, user_id, revision_num, category, posted_date, per_workorder_number)
        VALUES ($job_num,
                $loggedin_id,
                $revision,
                $category,
                STR_TO_DATE('$posted_date', '%Y-%m-%d'),
                $per_wo_num);";

         mysqli_query($dbc3, $sql);


        $revision_id = mysqli_insert_id($dbc3);

        $sql2 = "INSERT INTO checklist_component_stock (revision, job_num, category, posted_date, wo_num_and_date, comp_name_and_number, finish_sizes, material, total_num_pieces, workorder_num_one, notes_one, signoff_user_one, workorder_num_two, notes_two, signoff_user_two, workorder_num_three, notes_three, signoff_user_three)
        VALUES ('$revision_id',
                '$job_num',
                '$category',
                STR_TO_DATE('$posted_date', '%Y-%m-%d'),
                '$wo_num_and_date',
                '$comp_name_and_num',
                '$finish_sizes',
                '$material',
                '$total_num_pieces',
                '$workorder_num_one',
                '$notes_one',
                NULL,
                '$workorder_num_two',
                '$notes_two',
                NULL,
                '$workorder_num_three',
                '$notes_three',
                NULL);";

         mysqli_query($dbc3, $sql2);    
       }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

フォームからデータベース内の複数のテーブルに挿入する

分類Dev

HTMLフォームからMySQLデータベースに複数の行を挿入する

分類Dev

テーブルの同じ列の複数の行に単一のフォームから同じ名前の複数のデータを挿入する方法

分類Dev

フォームからデータベースの単一のフィールドに複数のフィールドを挿入する

分類Dev

Blueimpファイルのアップロード-フォームデータを複数のデータベーステーブルに挿入します

分類Dev

ループ内の複数のフォームからデータを取得し、ループ内のデータベースに挿入します

分類Dev

jspからデータベースmysqlに複数の行を挿入する

分類Dev

複数のMySQLデータベーステーブルにHTMLフォームデータを配布する

分類Dev

フォームからテーブルにデータを挿入します

分類Dev

フォームから2つのテーブルにデータを挿入する

分類Dev

フォームから2つのテーブルにデータを挿入する

分類Dev

.csvファイルからsqliteデータベースに複数行のテキストを挿入する方法

分類Dev

PHPは関数からユーザーのみを抽出し、フォアチを使用してデータベース通知テーブルに挿入します

分類Dev

1つのフォームを使用して複数のテーブルにデータを挿入します

分類Dev

複数の選択 (html フォーム) の選択を codeigniter のデータベースに挿入する

分類Dev

フォームの値をWordpressデータベーステーブルに挿入します:php

分類Dev

PHPを介してHTMLフォームからデータベースに複数のオプションを挿入する

分類Dev

複数のファイルから複数のテーブルにデータを挿入します

分類Dev

PHPを介して多言語HTMLフォームからMySQLテーブルにデータを挿入する

分類Dev

フォームからデータベースに今日の日付を挿入する

分類Dev

PHPを使用してHTMLフォームからMySQLデータベースにデータを挿入する

分類Dev

複数のデータソースからAngularJSフォームにデータを入力する

分類Dev

すべてのユーザーからのデータの重複回数を挿入するフォーム

分類Dev

他のスキーマテーブルからmysqlデータベースに値を挿入する方法は?

分類Dev

データベース内の1つのテーブルから、異なる列を持つ別のテーブルに特定の行を挿入します

分類Dev

フォームを介して1つのテーブルから別のテーブルにデータを挿入する

分類Dev

フォーム入力に複数の単語を入力し、データベースから対応するデータを取得します

分類Dev

複数のデータベースの複数のテーブルから単一の行を削除する

分類Dev

ワードプレス 4.7 を使用してフォームの値をデータベース テーブルに挿入する

Related 関連記事

  1. 1

    フォームからデータベース内の複数のテーブルに挿入する

  2. 2

    HTMLフォームからMySQLデータベースに複数の行を挿入する

  3. 3

    テーブルの同じ列の複数の行に単一のフォームから同じ名前の複数のデータを挿入する方法

  4. 4

    フォームからデータベースの単一のフィールドに複数のフィールドを挿入する

  5. 5

    Blueimpファイルのアップロード-フォームデータを複数のデータベーステーブルに挿入します

  6. 6

    ループ内の複数のフォームからデータを取得し、ループ内のデータベースに挿入します

  7. 7

    jspからデータベースmysqlに複数の行を挿入する

  8. 8

    複数のMySQLデータベーステーブルにHTMLフォームデータを配布する

  9. 9

    フォームからテーブルにデータを挿入します

  10. 10

    フォームから2つのテーブルにデータを挿入する

  11. 11

    フォームから2つのテーブルにデータを挿入する

  12. 12

    .csvファイルからsqliteデータベースに複数行のテキストを挿入する方法

  13. 13

    PHPは関数からユーザーのみを抽出し、フォアチを使用してデータベース通知テーブルに挿入します

  14. 14

    1つのフォームを使用して複数のテーブルにデータを挿入します

  15. 15

    複数の選択 (html フォーム) の選択を codeigniter のデータベースに挿入する

  16. 16

    フォームの値をWordpressデータベーステーブルに挿入します:php

  17. 17

    PHPを介してHTMLフォームからデータベースに複数のオプションを挿入する

  18. 18

    複数のファイルから複数のテーブルにデータを挿入します

  19. 19

    PHPを介して多言語HTMLフォームからMySQLテーブルにデータを挿入する

  20. 20

    フォームからデータベースに今日の日付を挿入する

  21. 21

    PHPを使用してHTMLフォームからMySQLデータベースにデータを挿入する

  22. 22

    複数のデータソースからAngularJSフォームにデータを入力する

  23. 23

    すべてのユーザーからのデータの重複回数を挿入するフォーム

  24. 24

    他のスキーマテーブルからmysqlデータベースに値を挿入する方法は?

  25. 25

    データベース内の1つのテーブルから、異なる列を持つ別のテーブルに特定の行を挿入します

  26. 26

    フォームを介して1つのテーブルから別のテーブルにデータを挿入する

  27. 27

    フォーム入力に複数の単語を入力し、データベースから対応するデータを取得します

  28. 28

    複数のデータベースの複数のテーブルから単一の行を削除する

  29. 29

    ワードプレス 4.7 を使用してフォームの値をデータベース テーブルに挿入する

ホットタグ

アーカイブ