我的代码重复了每一个表格。每次我想删除时,ajax函数和文件delete.php都会重复。示例我在mysql中有100个表,我必须制作100个delete.php
我可以使用1个delete.php,与ajax函数一样吗?
PHP代码:
echo"<td><a href='#' onclick='doConfirm(".$id.")'>Delete</a></td>";
Ajax代码:
function doConfirm(id)
{
var xhttp;
var ok = confirm("Are you sure to Delete?")
if (ok)
{
xhttp= new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById('show1').innerHTML=xhttp.responseText;
}
}
xhttp.open("GET", "delete.php?id=" + id,true);
xhttp.send();
}
}
delete.php
$f0=$_GET['id'];
delete($f0);
答案 0 :(得分:0)
根据要求创建一个主文件。 例如,要在tbl_book中删除,我们的URL将是
var list = new List<string> { "a", "b", "c", "d", "e" };
var threashold = 2;
var total = list.Count();
var taken = 0;
var sublists = new List<List<string>>(); //your final result
while (taken < total)
{
var sublst = list.Skip(taken)
.Take(taken + threashold > total ? total - taken : threashold)
.ToList();
taken += threashold;
sublists.Add(sublst);
}
现在在delete.php中,在switch或if else块中执行
xhttp.open("GET", "delete.php?target=book&id=" + id,true);
上面的例子只是给出了一个想法。根据要求改变
答案 1 :(得分:0)
将另一个参数传递给onclick='doConfirm(".$id.")'
作为表名,然后将表名作为查询字符串传递给GET方法,然后在单个delete.php文件中删除您可以从已传递的文件中删除。
代表:echo"<td><a href='#' onclick='doConfirm(".$id.", "table1")'>Delete</a></td>";
<强>的Ajax 强>
function doConfirm(id, tableName)
{
var xhttp;
var ok = confirm("Are you sure to Delete?")
if (ok)
{
xhttp= new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById('show1').innerHTML=xhttp.responseText;
}
}
xhttp.open("GET", "delete.php?id=" + id + "table=" + tableName,true);
xhttp.send();
}
}
希望这会有所帮助。