【发布时间】:2017-08-03 06:29:30
【问题描述】:
假设我有一个表:包含 7 列的交易:id、日期、金额、详细信息、类型、目的、位置。单击提交按钮后,我希望能够输入 3 行。在我的 confiq.php 中,变量 $query 中设置了连接。
这是我在 insertmultiple.php 中的代码(稍后它将包含在我的 overview.php 中的一个表格中,为 3 行)。
问题:我想将 html 表单中的 3 行数据插入到表格的新行中。你看到我在哪里犯错了吗?我有一种感觉,它是我开始条件的地方。 谢谢大家。
<?php
include('config.php');
$date = $_POST['date'];
$detail = $_POST['detail'];
$type = $_POST['type'];
foreach( $date as $key => $d ) {
$sql = "INSERT INTO transactions (date, detail, type)
VALUES ('$date[$key]', '$detail[$key]', '$type[$key]')";
if ( $sql === TRUE) {
mysqli_query ($query,$sql);
} else {
echo "Error: " . $sql . "<br>" . $query->error;
}
}
?>
<form method="post" action="">
<tr>
<input type="text" name="date[]" />
<input type="text" name="detail[]" />
<input type="text" name="type[]" />
</tr>
<tr>
<input type="text" name="date[]" />
<input type="text" name="detail[]" />
<input type="text" name="type[]" />
</tr>
<tr>
<input type="text" name="date[]" />
<input type="text" name="detail[]" />
<input type="text" name="type[]" />
</tr>
<input type="submit" name="submit" id="submit_button" style="width: 50px">
</form>
【问题讨论】:
-
您的代码中有很多错误... 1) 每个输入字段都写下唯一的名称。例如 name="date[]" 使用了 3 次......这是错误的。你应该使用 date1[]、date2[] 或 date3[]
-
修复了这个错误并更新代码..我会指导你
-
$sql === TRUE 永远不会是真的,$sql 是一个字符串。
标签: php mysql arrays mysqli foreach