0

这是一个很难解释的...

我正在开发一个餐厅系统,用户可以在其中添加可供出售的菜肴,但用户必须在菜肴注册后选择编辑/删除。

所以我的想法是:k,要制作一个从数据库中获取数据的表,并在最后一列中放置一些选项,如编辑/删除......这是更好理解的代码:

foreach ($result as $row){                 
    echo '<tr>';
    echo '<td>'.$row['name'].'</td>';
    echo '<td>'.$row['price'].'</td>';
    echo '<td>'.$row['description'].'</td>';
    echo '<td>'.'<img src="img/icons/16/delete.png" alt="delete" height="16" width="16">'.'</td>';
    echo '</tr>';             
 }

就像您已经看到删除选项已经存在(还没有功能/操作)这是事情......我可以在 href="delete.php? 中放置一个文件链接?但是当用户单击此链接时将引导他们到delete.php页面,离开管理页面......我希望当用户点击删除img时,作为/类似的AJAX工作。我不希望用户退出页面......

抱歉英语不好(不是我的母语),如果你们想了解更多细节,请询问。Ps:新的PHP程序员提前致谢。

4

3 回答 3

0

首先,您还应该打印一个record_id,因为仅根据名称删除是一个非常糟糕的主意,其中编码会追捕您。

话虽如此,这就是我将使用 jQuery 做的事情:

//PHP
foreach ($result as $row){                 
    echo '<tr>';
    echo '<td>'.$row['name'].'</td>';
    echo '<td>'.$row['price'].'</td>';
    echo '<td>'.$row['description'].'</td>';
    echo '<td>'.'<img class="delete-btn" src="img/icons/16/delete.png" alt="delete" height="16" width="16" data-order-id="$row['id']">'.'</td>';
    echo '</tr>';             
 }    


//JQUERY
$(document).ready(function(){
    $(".delete-btn").click(function(){
        $.post("/delete.php", {order_id: $(this).attr("data-order-id")}, function(){
            $(this).closest("tr").remove();
        });
    });
});
于 2013-07-04T20:06:07.070 回答
0

使用 javascript 或 jQuery 使用要删除的行的 id 对 delete.php 执行 ajax 请求。我经常把id放在<tr>like中echo "<tr data-id='{$row['id']}'>",我的jQuery看起来像这样

$(".delete").on('click', function() {
  var id= $(this).parents('tr').data('id');
  $.ajax({
    url:"delete.php",
    type:"POST",
    data:{id:id},
    success:function(data, textStatus, jqXHR) {
      // do something with the data returned. I usually output "success" from my 
      // delete.php and then check for data.indexOf('success') != -1
      $("tr[data-id="+id+"]").remove();
    },
    error:function(jqXHR, textStatus, errorThrown) {
        alert("Error: "+jqXHR+" "+textStatus+" "+errorThrown);
    }
  });
});

在我的 delete.php 页面上,我在继续之前检查它$_POST['id']是否为空。如果你使用$_REQUEST['id']它也可以直接链接到delete.php?id=999

于 2013-07-04T20:03:44.947 回答
0

您可以使用 AJAX 调用 Delete.php,因此请求在不离开页面的情况下执行。

实际链接到删除页面的好处是它也可以在没有 Ajax/Javascript 的情况下工作。因此,您可以先构建一个简单的删除页面,然后再添加 Ajax。

于 2013-07-04T19:59:50.863 回答