gpt4 book ai didi

php - 来自一个表单的多个 mysql 插入

转载 作者:行者123 更新时间:2023-11-30 22:14:17 25 4
gpt4 key购买 nike

我希望能够跟踪每天服用的处方药。我不确定我正在尝试这样做是否是正确的策略,因为我正在学习。我目前使用的策略是使用一个表按日期跟踪每个规定的项目,并使用外键访问第二个表中的规定项目详细信息。

我的直接问题是,是否有可能将每个规定的项目分组到一个表格中以收集所取的金额,然后将每个项目插入到 mysql 中?

这就是我目前所拥有的。这只适用于一个项目,但我想每个日期都有多个项目。是否可以在一个页面上有多组输入来创建多个插入?也许我的策略全错了。这是可能的还是需要另一种策略?

<form method="post" action="db_insert.php">
<?php
$date = "2016-15-16";
?>
<?php echo "Date " . $date; ?>
<input type="hidden" name="prescribedid" value="1"><br>
Prescribed #1 Amount: 200 <input type="checkbox" name="taken_amount" value="200">
Prescribed #1 Units: mg <input type="checkbox" name="units" value="mg">
Prescribed #1 Frequency: daily <input type="checkbox" name="frequency" value="1">
<input type="hidden" name="prescribedid" value="2"><br>
Prescribed #2 Amount: 200 <input type="checkbox" name="taken_amount" value="200">
Prescribed #2 Units: mg <input type="checkbox" name="units" value="mg">
Prescribed #2 Frequency: daily <input type="checkbox" name="frequency" value="1"><br>
<input type="submit" name="Submit">
</form>

db_insert.php

<?php
$date = "2016-08-15";
$date = date('Y-m-d',strtotime($date));

echo $date . "<br>";

$prescribedid = $_POST["prescribedid"];
$taken_amount = $_POST["taken_amount"];
$units = $_POST["units"];
$frequency = $_POST["frequency"];

// 1st Insert
$query[] = "INSERT INTO `tracked_db` (`takenid`, `date`, `prescribedid`, `taken_amount`, `taken_units`, `frequency`)";
$query .= " VALUES (NULL, '{$date}', '${prescribedid}', '{$taken_amount}', '{$units}', '{$frequency}')";

// 2nd insert
$query[] = "INSERT INTO `tracked_db` (`takenid`, `date`, `prescribedid`, `taken_amount`, `taken_units`, `frequency`)";
$query .= " VALUES (NULL, '{$date}', '${prescribedid}', '{$taken_amount}', '{$units}', '{$frequency}')";

$result = mysqli_query($connection, $query);
?>

foreach 要插入的查询。

最佳答案

如果您想提交多个具有相同名称的输入,则必须使用 [] 提供 inputs 的名称。例如:

<input type="checkbox" name="taken_amount[]" value="200">

而在服务器端,它们将被接收或视为数组。

例如:这里 $taken_amount = $_POST["taken_amount"]; $taken_amount 是一个包含所有 inputs 值的数组名称 taken_amount。然后您可以遍历此数组以检索值。

在您的情况下,遍历您的任何参数并附加/连接 $query,以便可以一次插入所有行。

例如:

$query='';
for($i=0;$i<count($taken_amount);$i++){
$query .= "INSERT INTO `tracked_db` (`takenid`, `date`, `prescribedid`, `taken_amount`, `taken_units`, `frequency`)
" VALUES(NULL, '{$date}', '{$prescribedid[$i]}', '{$taken_amount[$i]}', '{$units[$i]}', '{$frequency[$i]}')";
}

关于php - 来自一个表单的多个 mysql 插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38981443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com