多行不存储在数据库中

时间:2018-06-07 17:35:48

标签: php jquery ajax pdo

我在php中使用jQuery和Ajax。我想一次提交多行。但由于'plantation_journal_no'是plantation_journal_details的主键和past_history_species_details的外键,我的代码无法正常工作。我被困在这里。任何人都可以建议我,我该如何解决这个问题?先谢谢你们。代码如下:

的index.php

| item_description |
+------------------+
| apple            |
| orange           |

insert2.php

ggplot(bad_drivers2, aes(State, nums)) + 
geom_bar(stat = "identity", fill= "royalblue") + 
coord_flip()
ggplot(bad_drivers2, aes(State, not_distracted_num)) + 
geom_bar(stat = "identity", fill= "blue") + 
coord_flip()

前端表: Frontend Table

后端表 Backend Table

1 个答案:

答案 0 :(得分:0)

我猜idpast_history_species_details表的主键。您尝试插入的每一行都使用相同的uniqid()。每次循环都需要获得一个新的ID。

for($count = 0; $count < count($_POST["species"]); $count++)
{  
    $id = uniqid();
    $query = "INSERT INTO past_history_species_details
   (id, plantation_journal_no, species, product, quantity, value) 
   VALUES (:id, :plantation_journal_no, :species, :product, :quantity, 
   :value) ";
    $statement = $connect->prepare($query);
    $statement->execute(
        array(
            ':id'                     => $id,
            ':plantation_journal_no'  => $plantation_journal_no,
            ':species'                  => $_POST["species"][$count],
            ':product'                  => $_POST["product"][$count], 
            ':quantity'             => $_POST["quantity"][$count], 
            ':value'                   => $_POST["value"][$count]
            )
        );
}

如果你把它变成一个自动增量列,事情会更容易。