Php 包含来自数据库的数据的表中的选项

Php 包含来自数据库的数据的表中的选项,php,Php,这是一个很难解释的问题 我正在开发一个餐厅系统,用户可以添加可供出售的菜肴,但在菜肴注册后,用户必须有编辑/删除的选项 所以我的想法是:k,制作一个表格,从数据库中获取数据,在最后一列中,放置一些选项,如编辑/删除。。。以下是更好理解的代码: foreach ($result as $row){ echo '<tr>'; echo '<td>'.$row['name'].'</td>'; echo '&

这是一个很难解释的问题

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

所以我的想法是: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>';             
 }
foreach($result作为$row){
回声';
回显'.$row['name'].';
回显'.$row['price'].';
回显'.$row['description'].';
回音“.”;
回声';
}
正如您所看到的,删除选项已经存在(还没有任何功能/操作),这里就是问题所在。。。我可以在href=“delete.php”中放置一个指向文件的链接,但当用户单击此链接时,将导致他们进入delete.php页面,离开管理页面…我希望当用户单击delete img时,可以像/类似的AJAX那样工作。我不希望用户退出页面

对不起,我的英语不好(不是我的母语),如果你们想知道更多细节,尽管问。 新PHP程序员
提前感谢。

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


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

使用Javascript或jQuery对delete.php执行Ajax请求,请求中包含要删除行的id。我经常将id放入
中,如
echo““
我的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页面上,我检查
$\u POST['id']
是否为空,然后继续。如果使用
$\u REQUEST['id']
它还可以直接链接到
delete.php?id=999

首先,您还应该打印一个记录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();
        });
    });
});
//PHP
foreach($结果为$行){
回声';
回显'.$row['name'].';
回显'.$row['price'].';
回显'.$row['description'].';
回音“.”;
回声';
}    
//JQUERY
$(文档).ready(函数(){
$(“.delete btn”)。单击(函数(){
$.post(“/delete.php”,{order_id:$(this.attr(“数据顺序id”)},function(){
$(this).tr.remove();
});
});
});

非常小心地放入可以删除内容的可点击链接:所有链接都可以,但是$(“tr[data id='+id+'])。remove();part不可以…这应该删除标记,对吗?我已经发出警告('hi');只是为了看看是否加载了ajax文件…单引号应该是双引号。
$(“tr[data id=“+id+”)).remove();
我已将我的答案更新为匹配。工作起来像个魅力四射的朋友!