PHP可重复使用ajax删除行

时间:2015-10-09 08:43:04

标签: php mysql ajax

我的代码重复了每一个表格。每次我想删除时,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);

2 个答案:

答案 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();
        }
}

希望这会有所帮助。