将数据从动态表提交到数据库 - PHP
submiting data from a dynamic table to database - PHP
我有一个html网页,它有一个表,可以从数据库中的表中获取数据。每一行都有一个按钮,单击该按钮后会使用 javascript 动态添加到网页上的另一个表中。动态表有一个提交按钮,单击该按钮时,表中的数据应添加到数据库中的表中。我的问题是表中的内容没有添加到数据库中,但每次我按下提交按钮时都会添加具有唯一 id 的新行。还有一个输入文本框,也可以正确添加到我的数据库中。这让我相信我的数据库连接正在工作,但由于某种原因,表中的数据没有被添加。如何使动态表中的数据提交到数据库中?这是我的代码。代码已根据建议进行了更新。
<?php
$sql = "SELECT *
FROM inventoryCars";
$result = mysqli_query($connection, $sql);
?>
<div class="inventory">
<div class ="cars">
<table>
<?php
if (mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_assoc($result))
{
$RegNo = $row["regNo"];
$CarMake = $row["carMake"];
$CarModel = $row["carModel"];
?>
<tr>
<input type="hidden" name="regNo" value="<?php echo $row['regNo'] ?>">
<input type="hidden" name="carMake" value="<?php echo $row['carMake'] ?>">
<input type="hidden" name="carModel" value="<?php echo $row['carModel'] ?>">
<td><?php echo $row["regNo"] ?></td>
<td><?php echo $row["carMake"] ?></td>
<td><?php echo $row["carModel"] ?></td>
<td><button onclick="addRowToTable('<?php echo $RegNo ?>','<?php echo $CarMake ?>','<?php echo $CarModel ?>')">+</button></td>
</tr>
<script type ="text/javascript">
function addRowToTable(regNo, carMake, carModel) {
var table = document.getElementById("newhireTBL");
var row = table.insertRow(0);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
cell1.innerHTML = regNo;
cell2.innerHTML = carMake;
cell3.innterHTML = carModel;
}
</script>
<?php
}
}
?>
</table>
</div>
</div>
<div class="order">
<div class ="newhire">
<table id="newhireTBL">
</table>
<form action = "addNewHire.php" method = "post">
<input type="hidden" name="regNo" value="<?php echo $row['regNo'] ?>">
<input type="hidden" name="carMake" value="<?php echo $row['carMake'] ?>">
<input type="hidden" name="carModel" value="<?php echo $row['carModel'] ?>">
<input id="submit" type="submit" name="submit" value="Submit">
</form>
</div>
</div>
添加新员工.php
<?php session_start(); ?>
<?php require_once("connectToSQL.php"); ?>
<?php
echo "<pre>";var_dump($_POST);echo "</pre>";die;
if (isset($_POST['submit'])){
$RegNo = $_POST['regNo'];
$CarMake = $_POST['carMake'];
$CarModel = $_POST['carModel'];
$_SESSION["regNo"] = $RegNo;
$_SESSION["carMake"] = $CarMake;
$_SESSION["carModel"] = $CarModel;
$sql = "INSERT INTO newHire(regNo, carMake, carModel)
VALUES('$RegNo', '$CarMake', '$CarModel')";
if (mysqli_query($connection, $sql)) {
header("location:order_success.php");
echo "Order has been made";
} else {
header("location:order_fail");
echo "Order fail";
}
}
?>
}
?>
测试表明这一点
array(4) {
["regNo"]=>
string(0) ""
["carMake"]=>
string(0) ""
["carModel"]=>
string(0) ""
["submit"]=>
string(6) "Submit"
}
表单和表标记的嵌套无效,这可能会阻止提交表单数据。尝试将"newhireTBL"表的结束标记移动到表的起始标记正下方(窗体外部),以便表和表单标记不会重叠。
例如:
<table...>
</table>
<form...>
</form>
编辑:这是一个基本示例,其中包含一些虚拟数据,可以帮助您解决问题。祝你好运!
<?php
$rows = array(
array(
"regNo" => "abc123",
"carMake" => "toyota",
"carModel" => "camry",
),
array(
"regNo" => "def456",
"carMake" => "ford",
"carModel" => "laser",
),
);
?>
<?php foreach ($rows as $row): ?>
<?php echo $row["regNo"] ?>
<?php echo $row["carMake"] ?>
<?php echo $row["carModel"] ?>
<button onclick="addRow('<?php echo $row["regNo"] ?>','<?php echo $row["carMake"] ?>','<?php echo $row["carModel"] ?>')">+</button>
<br/>
<?php endforeach ?>
<form action = "addNewHire.php" method = "post">
<input id=regNo type="text" name="regNo" value="">
<input id=carMake type="text" name="carMake" value="">
<input id=carModel type="text" name="carModel" value="">
<input id="submit" type="submit" name="submit" value="Submit">
</form>
<script type ="text/javascript">
function addRow(regNo, carMake, carModel) {
document.getElementById('regNo').value = regNo;
document.getElementById('carMake').value = carMake;
document.getElementById('carModel').value = carModel;
}
</script>
相关文章:
- 如何通过php页面将数据库值检索到jquery自动完成框中
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- 将地理编码结果转换为php变量以发布到mysql数据库
- JavaScript,PHP-用JavaScript将多个数据库记录发送到变量或表
- 在php和mysql中选择选项.一旦选择了选项,就列出我的sql数据库数据
- 如何使用PHP将javascript变量添加到mysql数据库中
- 将数据保存到数据库(ajax/php)后,使文本字段变灰/禁用
- 如何将翻译后的文本插入数据库 php
- javascript倒计时并更新数据库php
- 根据来自数据库 (PHP) 的数据在 HTML 中添加 grahps
- 将数据从动态表提交到数据库 - PHP
- 如何将DIV ID的值保存到数据库PHP&MySQL
- 在成功更新的数据库PHP上弹出
- 下拉列表加载数据从数据库PHP javascript
- 点击一个简单的HTML按钮,通过jQuery / Javascript写入数据库&PHP
- Fancybox没有'从数据库(php)获取图像时无法工作
- 连接MYSQL数据库[PHP]
- 计算点击按钮的次数错误并插入数据库PHP
- 注册表单没有正确处理到数据库(PHP/MySQL)
- 注册表格不工作和存储数据在数据库(PHP/MYSQL)