PHP / SQL:使用选择选项多次删除数据

Posted

技术标签:

【中文标题】PHP / SQL:使用选择选项多次删除数据【英文标题】:PHP / SQL: Multiple delete data using Select Option 【发布时间】:2020-10-01 20:49:53 【问题描述】:

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

下面是我的代码:

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>

插入.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";
    


    ?>

谁能知道如何解决这个问题?谢谢

【问题讨论】:

【参考方案1】:

framework 每次都会保存一个值。

使用输入数组 -

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

并在查询中 -

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

尝试使用参数绑定来保证安全。

【讨论】:

我收到错误的 ant 查询。内爆,传递了无效的参数。

以上是关于PHP / SQL:使用选择选项多次删除数据的主要内容,如果未能解决你的问题,请参考以下文章

从 sql ce 数据库中删除所有表

如何在Excel中使用SQL语言实现数据查询?

Sqlserver数据库日志太大如何快速删除

怎么彻底删除安装的sql2014

SQL数据库日志文件 可以删除吗

如何清除SQLserver 日志