无法使用AJAX删除php中的行

时间:2019-07-31 06:11:53

标签: php mysql

我正在使用AJAX删除PHP中的行,但显示行无法删除。 我的删除按钮就是这样...

while ($row = mysqli_fetch_array($exec)) 
{
?>
    <tr>
        <td><?php echo $row["create_date"]; ?></td>
        <td><?php echo $row["bni_member_id"]; ?></td>
        <td><?php echo $row["bni_member_name"]; ?></td>
        <td><?php echo $row["bni_chapter_id"]; ?></td>
        <td><?php echo $row["bni_category_id"]; ?></td>
        <td><input type="button" name="delete" onclick="delFun()" value="delete" id="<?php echo $row["bni_member_id"]; ?>" class="btn btn-info btn-xs delete_data"/></td>
    </tr>
    <?php
}
?>

我在点击按钮上调用了一个函数。像这样的功能。 它总是执行部分不能删除。我认为

有问题
data: {del_id: del_id},

我认为数据有问题...但是我无法解决。

   var delfin;
$(document).ready(function () {
    delFun = function () {
        $('.delete_data').click(function () {
            var del_id = $(this).attr("name");
            var $ele = $(this).parent().parent();
            $.ajax({
                url: "phpfile/delete.php",
                method: "POST",
                data: {del_id: del_id},
                success: function (data) {
                    if(data=="YES"){
                        $ele.fadeOut().remove();
                     }else{
                            alert("can't delete the row")
                     }
                }
            });
        });
    } 
}); 

我的PHP文件在这样的另一个目录中

<?php
    include('../../connection.php');
    $music_number = $_POST['del_id'];
    //echo $music_number;
    $qry = "DELETE FROM bni_member WHERE bni_member_id ='$music_number'";
    $result=mysql_query($qry);
    if(isset($result)) {
       echo "YES";
    } else {
       echo "NO";
    }
?>

我的桌子就像

CREATE TABLE `bni_member` (
 `bni_member_id` int(11) NOT NULL AUTO_INCREMENT,
 `bni_member_name` text,
 `bni_member_mobile` varchar(13) DEFAULT NULL,
 `bni_member_email` text,
 `bni_member_website` text,
 `bni_member_bio` text,
 `bni_member_export_to` text,
 `bni_member_import_from` text,
 `bni_member_want_to_connect_to` text,
 `bni_member_company` text,
 `bni_chapter_id` int(11) DEFAULT NULL,
 `bni_category_id` int(11) DEFAULT NULL,
 `bni_member_address` text,
 `bni_member_commitee` text,
 `bni_member_profilepic` longblob NOT NULL,
 `bni_member_logo` longblob NOT NULL,
 `create_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
 `is_active` int(1) NOT NULL DEFAULT '1',
 `is_delete` int(1) NOT NULL DEFAULT '0',
 `last_update` text,
 `del_status` varchar(50) NOT NULL,
 PRIMARY KEY (`bni_member_id`),
 KEY `bni_chapter_id` (`bni_chapter_id`),
 KEY `bni_category_id` (`bni_category_id`),
 KEY `bni_member_id` (`bni_member_id`),
 CONSTRAINT `bni_member_ibfk_1` FOREIGN KEY (`bni_chapter_id`) REFERENCES 
`bni_chapter` (`bni_chapter_id`),
 CONSTRAINT `bni_member_ibfk_2` FOREIGN KEY (`bni_category_id`) 
REFERENCES `bni_category` (`bni_category_id`)
) ENGINE=InnoDB AUTO_INCREMENT=225 DEFAULT CHARSET=latin1

3 个答案:

答案 0 :(得分:3)

第一个问题是,您从“删除”按钮获得了name属性。您可以将bni_member_id作为数据属性来传递,而不是使用元素id属性。可能引起混乱。第二个问题是,您同时使用了onlick属性和jQuery的click方法。使用一个就足够了。您的输入按钮将如下所示:

<td><input type="button" name="delete" value="delete" class="btn btn-info btn-xs delete_data" data-bni-member-id="<?= $row["bni_member_id"]; ?>" /></td>

然后您的js将如下所示:

$(document).ready(function () {
    $('.delete_data').click(function () {
        var del_id = $(this).data("bni_member_id");
        var $ele = $(this).parent().parent();
        $.ajax({
            url: "phpfile/delete.php",
            method: "POST",
            data: {del_id: del_id},
            success: function (data) {
                if(data=="YES"){
                    $ele.fadeOut().remove();
                } else {
                    alert("can't delete the row")
                }
            }
        });
    });
});

希望对您有帮助。

答案 1 :(得分:0)

您可以更改删除按钮

 <input type="button" name="delete" onclick="delFun()" value="delete" data-id="<?php echo $row["bni_member_id"]; ?>" class="btn btn-info btn-xs delete_data"/>

和Jquery事件

    $(document).on("click",".delete_data",function () {

    var del_id = $(this).data("id");

答案 2 :(得分:0)

我正在与您共享我的代码,请尝试这样

One Two Three   Four
-0.40233    -1.93436    -1.88028    -0.99787
-2.80711    -0.97275    -4.31487    -0.86775
-0.17895    -0.55564    -3.49162    -0.70752
    -0.31427    -3.12555    -0.87849
    -4.72777    -2.76812    -0.85374
    -4.34728    -1.52177    -0.69027
    -4.14875    -1.25835    -0.28237
    -3.96748    -1.18823    -0.05936
    -3.81655    -0.1967 -0.93743
    -3.74722    -0.06998    -0.00421
    -3.62029    -0.00185    -4.70364
    -3.61812    -0.16503    -4.69526
    -3.4773 -4.41589    -4.59837
    -2.95145    -2.5384 -4.39694
    -0.42517    -1.95065    -4.38387
        -1.7771 -4.3657
        -1.11247    -4.35819



res <- read.table("./data.txt",sep="\t", header=TRUE)
color1 <- c("#1f77b4", "#ff7f0e", "#2ca02c", "#d62728")
boxplot(res,names = colnames(res), las = 2, boxwex = .7 , outline = FALSE,
        col = "white", size = 2, side = 1, lwd = .05, outcex = .75)

# working
stripchart(res, vertical = TRUE, offset = 2/8, cex = .9, add = TRUE,
           method = "jitter", jitter= .23,
           pch = 21, col = color1, lwd = 1)
# working

boxplot(res, names = colnames(res), las = 2, boxwex = .7 , outline = FALSE,
        col = "white", size = 2, side =1, lwd =.05, outcex = .75)
stripchart(res, vertical = TRUE, offset = 2/8, cex = .9, add = TRUE,
           method = "jitter", jitter = .23,
           pch = 16, col = color1, lwd = 1)


# Not working properly bg colors are distributed vertically instead horizontal
boxplot(res, names = colnames(res), las = 2, boxwex = .7, outline = FALSE,
        col = "white", size = 2, side = 1, lwd = .05, outcex = .75)
stripchart(res, vertical = TRUE, offset = 2/8, cex = .9, add = TRUE,
           method = "jitter", jitter = .23,
           pch = 21, bg = color1, col = "black", lwd = 1)

添加脚本

       <tr>
          <td><?php echo $i; ?></td>
          <td><?php echo $row["exam_name"]; ?></td>
          <td><?php echo $row["exam_date"]; ?></td>
          <td><?php echo $row["exam_status"]; ?></td>
          <td><?php echo $row["exam_comment"]; ?></td>
         <td><button type="button" name="delete_btn" id="<?php echo $row["examid"]; ?>" class="btn btn-sm btn-danger btn_delete"><i class="fa fa-trash"></i></button></td> 
      </tr>