如何将数据表中的选定行复制到数据库mysql中的另一个表

时间:2015-10-29 06:54:05

标签: php jquery html

我在数据库中的产品中有数据,它都显示在我的数据表中的php文件中。现在我在datatable中有所选择的行,并且我希望所有选定的行在单击提交按钮时转移到数据库中的另一个表,例如从products到sales_order_holder。可能吗?

<table id="example" cellspacing="0" width="100%" class="display">
  <thead>
    <tr>
      <th></th>
      <th>Category</th>
      <th>Brand</th>
      <th>Model</th>
      <th>Item Name</th>
      <th>Price</th>
      <th>id</th>
    </tr>
  </thead>
  <tbody>
    <?php do { ?>
    <tr>
      <td><?php echo ++$i; ?></td>
      <td><?php echo $row_products['pid']; ?></td>
      <td><?php echo $row_products['brand']; ?></td>
      <td><?php echo $row_products['model']; ?></td>
      <td><?php echo $row_products['item_name_']; ?></td>
      <td><?php echo $row_products['price']; ?></td>
      <td><?php echo $row_products['id']; ?></td>
    </tr>
    <?php } while ($row_products = mysql_fetch_assoc($products)); ?>
  </tbody>
</table>

3 个答案:

答案 0 :(得分:0)

使用此,

INSERT INTO table2 (col1,col2...)
SELECT * FROM table1 WHERE selected row's id

如果选择了多于一行,请尝试使用foreach或使用INSERT BATCH在选择中插入WHERE IN

答案 1 :(得分:0)

INSERT INTO table2 (val1, val2)
SELECT val1,val2 FROM table1 WHERE tableRowId = someID

答案 2 :(得分:0)

您可以在显示的表格中的每一行旁边放置一个复选框。这些复选框应包含产品的ID作为值。然后使用ajax将这些复选框的值传递给将运行查询的一些php脚本。

$(document).ready(function() {
$("#submit").click(function() {
  var x=0;
   console.log("start");

    var selected = [];
    $("input:checkbox[id=product]:checked").each(function(){
    selected.push($(this).val());
    });
    if (typeof selected !== 'undefined' && selected.length > 0) {

      var target= $("#target").val() ;
      var data = {
        products : selected.toString(),

    }



    $.ajax({
     url:"/dispatch",
     type: "POST",
     data:JSON.stringify(data),
     dataType: "json",
     contentType: "application/json",
     success: function(data)
     {           
            console.log("end");

     }
});

      }

});
});