簡體   English   中英

PHP多條記錄插入

[英]PHP multiple records insert

我正在嘗試改寫我的問題。

我有一個數據表,可以返回數千條記錄,每條記錄都有多列。 第一列中有一個復選框,一旦用戶選中它,然后單擊一個按鈕,與該行關聯的CONTAINER_NUMBER將發送到模式窗口以供表單使用。

這是復選框的代碼:

 echo "<tr><td><input type=\"checkbox\" id=\"{$Row[CONTAINER_NUMBER]}\" name=\"checkMr[]\" /></td>";

這是檢索CONTAINER_NUMBER並將其發送到模式窗口的javascript:

   <script type="text/javascript">
   $(function()
   {
    $('a').click(function()
    {
        var selectedID = [];
        $(':checkbox[name="checkMr[]"]:checked').each(function()
        {               
            selectedID.push($(this).attr('id'))         
        });                                             
        $(".modal-body .containerNumber").val( selectedID );
       });
    });
    </script>

這是模態窗口中顯示CONTAINER_NUMBER的部分:

 <div class="modal-body">
   <form action="" method="POST" id="serviceModalForm" name="serviceModalForm">
   <input type="text" name="containerNumber" id="containerNumber" class="containerNumber">

這是PHP的一部分,它采用id =“ containerNumber”並將其轉換為PHP變量。 之后,有一條INSERT語句將containerNumber插入數據庫表中:

 <?php
   $container = $_POST['containerNumber'];

   if(isset($_POST['submit'])){
     $container = mysql_real_escapse_string(stripslashes($container));

     $sql = "INSERT INTO myTable (container_num) VALUES ('$container')";

     if(mysql_query($sql)){
       echo "Insert complete";
     }
     else {
       echo "Insert was not completed";
     }
 ?>

這段代碼很好。 效果很好。 當用戶選中“一個”復選框時,它就會執行預期的操作。 當用戶選中多個復選框時,它不起作用。

基本上,根據我的研究,我需要將記錄與變量$ container分開,因為該變量中可以有多個容器,這就是為什么當選擇了多個容器編號時查詢不起作用的原因。

我需要能夠分隔容器編號並將它們存儲在數組或其他內容中。 該查詢將分別讀取每個記錄,並為每個記錄生成多個INSERT語句。

我已經嘗試過幾次創建一個數組並獲得sql語句來識別它,但是沒有成功。 我不確定是否將陣列放置在正確的位置。 我不確定在將容器發送到模式窗口之前是否必須在javascript中完成此操作。

我知道我需要利用一個FOREACH循環來遍歷數組,但是就像我說的那樣,我不確定在我的代碼中該數組需要去哪里。

請幫忙。 我知道我需要學習PDO或MYSQLI。 我一定會在下一個應用程序中使用PDO或MYSQLI。 在此之前,請幫助我解決此問題。

謝謝,非常抱歉。

您的containerNumber將作為js數組中轉換后的字符串發布。 像id1,id2,id3 [...]

在您的php代碼中,將$ container轉換回數組( $containerArray = explode(",", $container) )並動態構造sql以在單個查詢中添加所有行,從而使語句變為類似

INSERT INTO myTable (container_num) VALUES ('$containerArray[0]'), ('$containerArray[1]')[...]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM