使用PHP,JS/jQuery和一点AJAX的CRUD方法

Tre*_*ski 2 javascript php sqlite ajax jquery

我一直在研究一个系统,你可以在SQLite数据库中的表中创建-read-update-delete.到目前为止,我只编写了创建和查看方法(简单).

现在,我在决定如何删除和更新项目时遇到了障碍.在视图页面上,通过php和一代表(通过php回显到html)对数据库进行查询.每行旁边还添加了一个按钮,看起来像是一个垃圾桶,可以删除该行.

如何使用AJAX同时删除html表和sqlite表中的行?一个更明确的问题是,如何在单击按钮时将每个按钮链接到每一行并查询数据库?

这是生成的表:

foreach($result as $entry){
 echo  '<tr>' . '<td>'. $entry['department']. ' ' . $entry['CRN']. '</td>' . 
    '<td>'. $entry['title'] . '</td>' . 
    '<td>'. $entry['addDate'] . '</td>'. 
    '<td><button class="fg-button fg-button-icon-left ui-state-default ui-corner-all"><span class="ui-icon ui-icon-trash"></span></button></td>'.'</tr>';
}
Run Code Online (Sandbox Code Playgroud)

Mil*_*ric 5

  1. 创建一个PHP控制器和操作.它必须将ID作为参数,并且应该使用该ID对您的数据库执行删除命令.理想情况下,它只接受DELETE请求(不是GET或POST).这并不总是可行的,因为某些浏览器不支持DELETE HTTP请求.
  2. 在您的前端,创建如下所示的HTML和JavaScript:

HTML:

<input id="clickMe" type="button" value="Delete Button" data-rowId="12"/>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

$(document).ready(function(){
    $('#clickMe').click(function(){
        // send the delete request
        $.ajax({
            url: '/myEntity/delete',
            data: {id: $(this).data('rowId')},
            type: 'DELETE',
            // removes the row only if the delete succeeds
            success: function(){ $(this).parents('tr').remove(); }
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

更改类型:'DELETE'键入:'POST'如果您正在使用不支持DELETE的浏览器.

  • 嗯,这不是JS.GET,POST和DELETE是各种HTTP请求.Ajax只是一种异步HTTP请求机制.上面,我正在使用jQuery来展示如何进行DELETE.现在,在jQuery中,$ .post和$ .get只是$ .ajax({... type:'POST'...})或$ .ajax({... type:'GET'.. .)).DELETE没有简写,所以你必须使用我给你看的语法.这很有用,因为DELETE不会被蜘蛛等意外击中.希望这会有所帮助. (2认同)
  • @Milimetric同意,但是你会对一些缺乏思想的人感到惊讶,这些思想会留给人们留下的很多答案,以便他们先得到答案;) (2认同)