【发布时间】:2017-02-06 14:07:05
【问题描述】:
我有一个从数据库导入数据的 HTML 表。目前,我在底部有 4 个按钮。添加行、编辑、保存和删除。我的“添加行”按钮工作正常。所以我的问题是一个两部分的问题......
首先,我怎样才能让删除功能起作用?
其次,我怎样才能让编辑和保存功能也开始工作?
HTML/PHP 代码:
<table id="html_master">
<thead>
<tr>
<td>MR_ID</td>
<td>MR_Name</td>
<td>Buyer_ID</td>
<td>MR_POC_N</td>
<td>MR_POC_E</td>
<td>MR_POC_P</td>
<td>Select</td>
</tr>
</thead>
<tbody>
<?php
foreach ($dbh->query($sql) as $rows){
?>
<tr>
<td id="mr_id"><?php echo intval ($rows['MR_ID'])?></td>
<td id="mr_name"><?php echo $rows['MR_Name']?></td>
<td id="buyer_id"><?php echo $rows['Buyer_ID']?></td>
<td id="poc_n"><?php echo $rows['MR_POC_N']?></td>
<td id="poc_e"><?php echo $rows['MR_POC_E']?></td>
<td id="poc_p"><?php echo $rows['MR_POC_P']?></td>
<td align="center"><input type="checkbox" name="check" value="checked"></td>
</tr>
<?php
}
?>
</tbody>
</table>
<input type="button" class="add" value="Add Row" onclick="insRow('html_master')">
<input type="button" id="edit" value="Edit">
<input type="button" id="save" value="Save">
<input type="button" id="delRow" value="Delete" onclick="deleteRow('html_master')">
Javascript 代码:
// ----- Deletes row -----
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) {
table.deleteRow(i);
rowCount--;
i--;
}
}
}catch(e) {
alert(e);
}
}
// ----- Add Row -----
function insRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell1 = row.insertCell(0);
cell1.innerHTML = rowCount;
var cell2 = row.insertCell(1);
var element2 = document.createElement("input");
element2.type = "text";
element2.name = "txtbox[]";
cell2.appendChild(element2);
var cell3 = row.insertCell(2);
var element3 = document.createElement("input");
element3.type = "text";
element3.name = "txtbox[]";
cell3.appendChild(element3);
var cell4 = row.insertCell(3);
var element4 = document.createElement("input");
element4.type = "text";
element4.name = "txtbox[]";
cell4.appendChild(element4);
var cell5 = row.insertCell(4);
var element5 = document.createElement("input");
element5.type = "text";
element5.name = "txtbox[]";
cell5.appendChild(element5);
var cell6 = row.insertCell(5);
var element6 = document.createElement("input");
element6.type = "text";
element6.name = "txtbox[]";
cell6.appendChild(element6);
var cell7 = row.insertCell(6);
var element7 = document.createElement("input");
element7.type = "checkbox";
element7.name="chkbox[]";
cell7.appendChild(element7);
}
【问题讨论】:
-
这看起来与数据库相关。完成 DELETE 部分后,UPDATE 语法将类似。
-
是的,是数据库相关的。
-
你的问题有点笼统。你在使用前端 JavaScript 时遇到困难吗?还是 PHP 后端?例如,要删除需要在前端使用一些 javascript 来确定您似乎拥有的要删除的行,然后调用后端以使用 PHP 执行实际删除。你在使用 AJAX 吗?或者你想重新加载整个页面?尝试分解步骤并一次解决它们。这样更容易提供帮助。
-
我没有使用 AJAX,也不想重新加载页面。但是,我有另一个与此无关的页面,我可以在其中添加/删除行并且不使用 AJAX ...所以我需要使用它吗?我也遇到了 Javascript 的问题...我不认为 PHP 是问题。
-
在每个按钮之后似乎都有虚假的结束表格单元格标签 (
</td>)
标签: javascript php html database dynamic