PHP/SQL:使用“选择选项"多次删除数据 [英] PHP / SQL: Multiple delete data using Select Option

查看:67
本文介绍了PHP/SQL:使用“选择选项"多次删除数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

现在,我创建一个可以使用选择选项删除多个数据的系统.但是在这里我遇到了一些问题.当我仅选择一个数据,然后按删除按钮时,它将删除.但是,如果我选择多个数据(例如3个数据),则只会删除数据的最新ID.下面是我的图片

Now I create a system that can delete multiple data using select option. But here I got some issues. When i only select one data, and press button delete, it will delete. But if I choose more than one data, for example, 3 data, it will only delete the latest id of the data. Below is my the image

下面是我的代码:

index.php

index.php

<form method="post" id="multiple_select_form">
 <select name="framework" id="framework" class="form-control selectpicker" data-live-search="true" multiple>
    <?php foreach ($results as $row2): ?>
        <option value= <?php echo $row2["framework_id"]; ?>><?php echo $row2["framework_name"];?></option>
    <?php endforeach ?>
 </select>
 <br /><br />
 <input type="hidden" name="framework_id" id="framework_id" />
 <input type="submit" name="submit" class="btn btn-info" value="Submit" />
</form>

    <script>

    $(document).ready(function(){
    $('.selectpicker').selectpicker();

    $('#framework').change(function(){
    $('#framework_id').val($('#framework').val());
    });

    $('#multiple_select_form').on('submit', function(event){
    event.preventDefault();
    if($('#framework').val() != '')
    {
    var form_data = $(this).serialize();
    $.ajax({
        url:"insert.php",
        method:"POST",
        data:form_data,
        success:function(data)
        {
        //console.log(data);
        $('#framework_id').val('');
        $('.selectpicker').selectpicker('val', '');
        alert(data);
        }
    })
    }
    else
    {
    alert("Please select framework");
    return false;
    }
    });
    });

    </script>

insert.php

insert.php

    <?php

    include("configPDO.php");


    $smt = $conn->prepare("DELETE FROM frame_list WHERE framework_id = '".$_POST["framework_id"]."'");
    $smt->execute();

    if($smt){

        echo "Data DELETED";
    }else{
        echo "Error";
    }


    ?>

有人知道如何解决这个问题吗?谢谢

Can anyone knows how to solve this problem? Thanks

推荐答案

framework每次都保存一个值.

使用输入数组-

name="framework"更改为name="framework[]".

和查询中-

WHERE framework_id in ('". implode("','", $_POST["framework_id"]) ."')"

尝试使用参数绑定来提高安全性.

Try to use parameter binding for security.

这篇关于PHP/SQL:使用“选择选项"多次删除数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆