php - 有没有办法按照我的意图使用 PHP、Jquery 和 Ajax 请求从 table 中删除实际目标项目?

我有一个 PHP table ,它的数据是使用 foreach 从数据库中流出的。但是,我正在尝试为其创建一个删除机制。

这是我的 table :- <?php

foreach ($projects as $projectx){
                     

                     echo '<tr>';
                        
                     echo '<th>'.$projectx['id'].'</th>';
                     echo '<td>'.$projectx['user'].'</td>';
                     echo '<td>'.$projectx['catch_code'].'</td>';
                     echo '<td>'.$projectx['user_type'].'</td>';
                     echo '<td>'.$projectx['logs'].'</td>';
                    
                     echo '<td><a href="view-details" class="btn btn-sm btn-primary view-files" data-id="'.$projectx['id'].'" data-user="'.$projectx['user'].'" data-catchcode="'.$projectx['catch_code'].'" >View</a>&nbsp;&nbsp;&nbsp;&nbsp;<i class="fa fa-trash" id="remove-id" class="btn btn-danger btn-sm remove"  aria-hidden="true"></i>

这是我迄今为止所尝试的: -

$('body').on('click', '.fa-trash', e => {
                     
                     let id = $('td .view-files').data('id');  
                     
                        if(confirm("Do you want to Remove?")){

                                    $.ajax({
                                        url: '/del.php',
                                        type: 'GET',
                                        data:{id:id},
                                        error: function(){
                                            alert("something went wromg");
                                            },
                                        success: function(e){
                                            e.preventDefault;
                                            $("#"+id).parents('tr').remove();
                                            

                                            }

                                        });

                                   
                                    }
                            });

每当我试图从 table 中删除任何数据时,通常会删除 table 上的第一个数据(不是预期的数据)。

我认为我在通过 ID 和类集成/检索字体真棒删除类和实际数据时遇到问题。请问,我该怎么办?

回答1

(1) 将 class="remove" 添加到 td 以进行删除

(2) 将匹配db记录的idvalue添加到这个td标签中

这样,当用户点击删除的td标签时,系统就可以通过ajax传递正确的id进行删除。

因此,您可以使用以下内容:

对于 PHP

<?php
 
 echo "<table border=1 id=tblCart>";

 foreach ($projects as $projectx){
 
 echo '<tr id='  . $projectx['id'] . '>';
    
 echo '<th>'.$projectx['id'].'</th>';
 echo '<td>'.$projectx['user'].'</td>';
    
 echo '<td><a href="view-details" class="btn btn-sm btn-primary view-files" data-id="'.$projectx['id'].'" data-user="'.$projectx['user'].'" data-catchcode="'.$projectx['catch_code'].'" >View</a>&nbsp;&nbsp;&nbsp;&nbsp;

 <td class="removea" id=' . $projectx['id'] . '><i class="fa fa-trash" class="btn btn-danger btn-sm remove"  aria-hidden="true">Delete</i>
</td>';

    }

echo "</table>";

?>

对于 JS

<script>                
$('.removea').click(function () {

var id = $(this).attr('id'); 
   
if(confirm("Do you want to Remove?")){

    $.ajax({
        url: './del.php',
        type: 'GET',
        data:{id:id},
        success: function(e){
        $('#'+id).remove();
            }  
        });
   
    }
    });
</script>

相似文章

随机推荐

最新文章