PHPPDOを使用してMySQLに複数の行を持つ複数の配列を挿入する方法

Asesha George

PHPPDOを使用してMySqlデータベースに複数の配列を挿入しようとしています。重複した行を挿入していて、必要な方法で挿入されていません。以下は私のコードです

HTML

             <div class="col-md-4">
                    <div class="form-group">    
                        <label class="col-form-label"> Enter Product Name</label>
                        <input type="text" class="form-control" name="pname[]" placeholder="Product Name"/>
                    </div>
                </div> 

                <div class="col-md-4">
                    <div class="form-group">    
                        <label class="col-form-label"> No. of Pieces</label>
                        <input type="text" class="form-control" name="pcount[]" placeholder="No.Of Items"/>
                    </div>
                </div> 

                <div class="col-md-3">
                    <div class="form-group">    
                        <label class="col-form-label"> Estimated Amount</label>
                        <input type="text" class="form-control" name="estamount[]" placeholder="Estimated Amount of Each"/>
                    </div>
                    <p class="pull-left">Amount: &nbsp;<div class="Amount"></div></p>
                </div>

そしてPHPコードは

$totalamount=0;
        foreach($_POST['pname'] as $proname){

            foreach($_POST['pcount'] as $quantity){

                foreach($_POST['estamount'] as $estamount){

                    $totalamount = $quantity*$estamount;

                    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                    $sql = "INSERT INTO `order`(custname, contact, product_name, quantity, est_amount, advance_paid, delivery_period, date, status, total_amount, orderid) VALUES(:custname, :contact, :product_name, :quantity, :est_amount, :advance_paid, :delivery_period, :date, :status, :total_amount, :orderid)";
                    $query=$dbh->prepare($sql);
                    $query->bindParam(':custname',$custmorname,PDO::PARAM_STR);
                    $query->bindParam(':contact',$contact,PDO::PARAM_STR);
                    $query->bindParam(':product_name',$proname,PDO::PARAM_STR);
                    $query->bindParam(':quantity',$quantity,PDO::PARAM_STR);
                    $query->bindParam(':est_amount',$estamount,PDO::PARAM_STR);
                    $query->bindParam(':advance_paid',$advancepaid,PDO::PARAM_STR);
                    $query->bindParam(':delivery_period',$delevery,PDO::PARAM_STR);
                    $query->bindParam(':date',$date,PDO::PARAM_STR);
                    $query->bindParam(':status',$status,PDO::PARAM_STR);
                    $query->bindParam(':orderid',$orderid,PDO::PARAM_STR);
                    $query->bindParam(':total_amount',$totalamount,PDO::PARAM_STR);
                    $query->execute();
                    }
              }
        }

$proname , $quantity , $est_amount1つのレコードに挿入たいのですが、挿入された値に従って複数の再コードを挿入する必要があります

リンサド・アーメド

ネストされたforループがあるため、間違いなく重複レコードが発生します。簡単に修正させてください。

$totalamount=0;
for ($i = 0; $i < count($_POST['pname']); $i++){
    $proname = $_POST['pname'][$i];
    $quantity = $_POST['pcount'][$i];
    $estamount = $_POST['estamount'][$i];
    $totalamount = $quantity*$estamount;

    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "INSERT INTO `order`(custname, contact, product_name, quantity, est_amount, advance_paid, delivery_period, date, status, total_amount, orderid) VALUES(:custname, :contact, :product_name, :quantity, :est_amount, :advance_paid, :delivery_period, :date, :status, :total_amount, :orderid)";
    $query=$dbh->prepare($sql);
    $query->bindParam(':custname',$custmorname,PDO::PARAM_STR);
    $query->bindParam(':contact',$contact,PDO::PARAM_STR);
    $query->bindParam(':product_name',$proname,PDO::PARAM_STR);
    $query->bindParam(':quantity',$quantity,PDO::PARAM_STR);
    $query->bindParam(':est_amount',$estamount,PDO::PARAM_STR);
    $query->bindParam(':advance_paid',$advancepaid,PDO::PARAM_STR);
    $query->bindParam(':delivery_period',$delevery,PDO::PARAM_STR);
    $query->bindParam(':date',$date,PDO::PARAM_STR);
    $query->bindParam(':status',$status,PDO::PARAM_STR);
    $query->bindParam(':orderid',$orderid,PDO::PARAM_STR);
    $query->bindParam(':total_amount',$totalamount,PDO::PARAM_STR);
    $query->execute();


}

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Avroを使用してBigQueryに複数の列を持つ行を挿入する

分類Dev

PHPPDOを使用して複数の行を挿入します

分類Dev

laravelを使用して複数の配列をmysqlに挿入する方法

分類Dev

3つの配列を結合し、複数の行を挿入する方法

分類Dev

クエリビルダーでlaravelに複数の値を持つ複数の配列を挿入する方法

分類Dev

php配列を介して複数の行をmysqlに挿入します

分類Dev

PHPを使用してデータベースのjson配列に複数の行を挿入する方法

分類Dev

PQputCopyDataを使用して複数の行を挿入する方法

分類Dev

入力を使用して配列値から複数の行を挿入する方法

分類Dev

Laravelで複数の異なる列を持つ複数の行を挿入する方法

分類Dev

Java:PreparedStatementを使用してMySQLに複数の行を挿入する

分類Dev

サブクエリを使用してMySQLに複数の行を挿入する

分類Dev

複数の行を1つの行に挿入するmysql

分類Dev

bind_paramを使用してmysqlに複数の文字列を挿入する

分類Dev

MySQL(SQLite):複数行の結果を持つクエリに基づいて行を挿入します

分類Dev

CTE(WITH)を使用してpostgresqlに複数の行を挿入する方法

分類Dev

共通の値を持つ複数のmysql行から配列を生成する方法

分類Dev

共通の値を持つ複数のmysql行から配列を生成する方法

分類Dev

PostgreSQLの関数を使用して複数の行を挿入する方法

分類Dev

複数のforeachを使用してMYSQLに正しく挿入する方法

分類Dev

c#を使用してmysqlに複数の行を挿入する最良の方法は?

分類Dev

1つのMySQLに複数の列を挿入します

分類Dev

複数の配列をmysqlに挿入します

分類Dev

複数の配列からMySQLに値を挿入します

分類Dev

1つのMySQL列に複数の値を挿入する

分類Dev

1つのMySQL列に複数の値を挿入する

分類Dev

PHPPDOを介してMySQLデータベースに複数の値を挿入します

分類Dev

複数のphpフォーム配列をmysql行に挿入します

分類Dev

SQL:共通の列を持つ複数の行を挿入します

Related 関連記事

  1. 1

    Avroを使用してBigQueryに複数の列を持つ行を挿入する

  2. 2

    PHPPDOを使用して複数の行を挿入します

  3. 3

    laravelを使用して複数の配列をmysqlに挿入する方法

  4. 4

    3つの配列を結合し、複数の行を挿入する方法

  5. 5

    クエリビルダーでlaravelに複数の値を持つ複数の配列を挿入する方法

  6. 6

    php配列を介して複数の行をmysqlに挿入します

  7. 7

    PHPを使用してデータベースのjson配列に複数の行を挿入する方法

  8. 8

    PQputCopyDataを使用して複数の行を挿入する方法

  9. 9

    入力を使用して配列値から複数の行を挿入する方法

  10. 10

    Laravelで複数の異なる列を持つ複数の行を挿入する方法

  11. 11

    Java:PreparedStatementを使用してMySQLに複数の行を挿入する

  12. 12

    サブクエリを使用してMySQLに複数の行を挿入する

  13. 13

    複数の行を1つの行に挿入するmysql

  14. 14

    bind_paramを使用してmysqlに複数の文字列を挿入する

  15. 15

    MySQL(SQLite):複数行の結果を持つクエリに基づいて行を挿入します

  16. 16

    CTE(WITH)を使用してpostgresqlに複数の行を挿入する方法

  17. 17

    共通の値を持つ複数のmysql行から配列を生成する方法

  18. 18

    共通の値を持つ複数のmysql行から配列を生成する方法

  19. 19

    PostgreSQLの関数を使用して複数の行を挿入する方法

  20. 20

    複数のforeachを使用してMYSQLに正しく挿入する方法

  21. 21

    c#を使用してmysqlに複数の行を挿入する最良の方法は?

  22. 22

    1つのMySQLに複数の列を挿入します

  23. 23

    複数の配列をmysqlに挿入します

  24. 24

    複数の配列からMySQLに値を挿入します

  25. 25

    1つのMySQL列に複数の値を挿入する

  26. 26

    1つのMySQL列に複数の値を挿入する

  27. 27

    PHPPDOを介してMySQLデータベースに複数の値を挿入します

  28. 28

    複数のphpフォーム配列をmysql行に挿入します

  29. 29

    SQL:共通の列を持つ複数の行を挿入します

ホットタグ

アーカイブ