javascript - PHP 无法访问 HTML 表的行数据
问题描述
我有一个组合的 HTML+PHP+JS 页面,
HTML:
<form method="post">
<center>
<div id="divv">
<TABLE id="dataTable" width="350px" border="1">
<TR>
<TD><INPUT type="checkbox" name="chk"/></TD>
<TD style="width:80%"><?php echo $_GET['moduleno'];?></TD>
<TD><SELECT name="mach">
<option value="">--Choose Machine--</option>
<OPTION value="F&K">F&K</OPTION>
<OPTION value="K&S">K&S</OPTION>
</SELECT>
</TD>
<TD><INPUT type="text" placeholder="Enter Cell Cluster" name="txt"/></TD>
<TD><INPUT type="text" placeholder="Enter Wire Number" name="txt2"/></TD>
<TD><SELECT name="bond-position">
<option value="">--Choose Position--</option>
<OPTION value="Cell">Cell</OPTION>
<OPTION value="Busbar">Busbar</OPTION>
<OPTION value="VSB">VSB</OPTION>
</SELECT>
</TD>
<TD><SELECT name="typist">
<option value="">--Choose Type--</option>
<OPTION value="POS">POS</OPTION>
<OPTION value="NEG">NEG</OPTION>
<OPTION value="VSB">VSB</OPTION>
</SELECT>
</TD>
</TR>
</TABLE>
<INPUT type="button" id="addbutton" value="Add Row" onclick="addRow('dataTable')" />
<INPUT type="button" id="delbutton" value="Delete Row" onclick="deleteRow('dataTable')" />
<div>
</center>
<center><input type="submit" name="submit" id="sub1" value="Log Information & Proceed to Bond Resistance Check" onclick="return confirm('Please press OK to Save/Log Information.')"> <input type="submit" name="skip" id="sub2" value="Skip Step" onclick="return confirm('Are you sure you want to skip this step? Everything will be marked as \'Step Skipped\'')"></center>
</form>
<a href="toc.php?moduleno=<?php echo $_GET['moduleno'];?>">Back to Table of Contents</a> <a href="index.php">Back to Home</a>
添加动态表行并删除它们的Javascript:
<SCRIPT language="javascript">
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var colCount = table.rows[0].cells.length;
for(var i=0; i<colCount; i++) {
var newcell = row.insertCell(i);
newcell.innerHTML = table.rows[0].cells[i].innerHTML;
//alert(newcell.childNodes);
switch(newcell.childNodes[0].name) {
case "text":
newcell.childNodes[0].value = "<?php echo $_GET['moduleno'];?>"
break;
case "checkbox":
newcell.childNodes[0].checked = false;
break;
case "select-one":
newcell.childNodes[0].selectedIndex = 0;
break;
}
}
}
function deleteRow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for(var i=0; i<rowCount; i++) {
var row = table.rows[i];
var chkbox = row.cells[0].childNodes[0];
if(null != chkbox && true == chkbox.checked) {
if(rowCount <= 1) {
alert("Cannot delete all the rows!");
break;
}
table.deleteRow(i);
rowCount--;
i--;
}
}
}catch(e) {
alert(e);
}
}
PHP(将记录的值发送到数据库),
if (($_POST['submit'])&&($_SERVER["REQUEST_METHOD"] == "POST")) {
require "../config.php";
try {$connection = new PDO($dsn, $username, $password, $options);
$DOM = new DOMDocument();
$DOM->loadHTMLFile('wirebonding_1.php');
$rows = $DOM->getElementsByTagName("tr");
for ($i = 0; $i < $rows->length; $i++) {
$cols = $rows->item($i)->getElementsbyTagName("td");
for ($j = 0; $j < $cols->length; $j++) {
$new_user = array(
"moduleno" => $_GET[$j->innertext],
"machine" => $_POST[$j->innertext],
"cellcluster" => $_POST[$j->innertext],
"wirenumber" => $_POST[$j->innertext],
"position" => $_POST[$j->innertext],
"type" => $_POST[$j->innertext]
);
$sql = sprintf(
"INSERT INTO %s (%s) values (%s)",
"mydatabase.wirebonding_specifications",
implode(", ", array_keys($new_user)),
":" . implode(", :", array_keys($new_user))
);
$statement = $connection->prepare($sql);
$statement->execute($new_user);
}}}
catch(PDOException $error)
{
echo $sql . "<br>" . $error->getMessage();
}
exit;
}
我正在尝试从 HTML 表中获取所有值并将其逐行插入我的 SQL 表中。我的 PHP 代码有问题
我尝试在我的 PHP 代码中使用 for 循环,但它似乎并没有拾取两行数据。如何修改我的代码,以便在按下 Log Information 按钮后将多行的数据一一推送到 SQL 表中?
任何帮助是极大的赞赏!
解决方案
推荐阅读
- javascript - 如何在回调函数NodeJS之外获取变量值
- python-3.x - 使用 time.sleep 在 python 上进行线程化
- python - 如何在 python 中进行特定组合?
- c# - Xamarin.Forms Android 上的 HttpClient 无响应和冻结(棱镜)
- python - 使用 Pytorch API 和 Fast-ai 进行分类的训练结果不同
- reactjs - 使用上下文消费者从 Firebase 中检索 UID
- ios - 如何在 iOS 中获取人类友好的当前本地语言名称?
- reactjs - firebase中usestate保存数据的问题
- java - 我正在尝试使用@OneToOne 作为双向映射来映射实体,但出现奇怪的异常
- php - 在具有 PHP 和 nodeJS 依赖项的项目之间集成覆盖率的最合适方法是什么?