php/sql:使用select选项删除多个数据

bpzcxfmw  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(401)

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

下面是我的代码:
索引.php

  1. <form method="post" id="multiple_select_form">
  2. <select name="framework" id="framework" class="form-control selectpicker" data-live-search="true" multiple>
  3. <?php foreach ($results as $row2): ?>
  4. <option value= <?php echo $row2["framework_id"]; ?>><?php echo $row2["framework_name"];?></option>
  5. <?php endforeach ?>
  6. </select>
  7. <br /><br />
  8. <input type="hidden" name="framework_id" id="framework_id" />
  9. <input type="submit" name="submit" class="btn btn-info" value="Submit" />
  10. </form>
  11. <script>
  12. $(document).ready(function(){
  13. $('.selectpicker').selectpicker();
  14. $('#framework').change(function(){
  15. $('#framework_id').val($('#framework').val());
  16. });
  17. $('#multiple_select_form').on('submit', function(event){
  18. event.preventDefault();
  19. if($('#framework').val() != '')
  20. {
  21. var form_data = $(this).serialize();
  22. $.ajax({
  23. url:"insert.php",
  24. method:"POST",
  25. data:form_data,
  26. success:function(data)
  27. {
  28. //console.log(data);
  29. $('#framework_id').val('');
  30. $('.selectpicker').selectpicker('val', '');
  31. alert(data);
  32. }
  33. })
  34. }
  35. else
  36. {
  37. alert("Please select framework");
  38. return false;
  39. }
  40. });
  41. });
  42. </script>

插入.php

  1. <?php
  2. include("configPDO.php");
  3. $smt = $conn->prepare("DELETE FROM frame_list WHERE framework_id = '".$_POST["framework_id"]."'");
  4. $smt->execute();
  5. if($smt){
  6. echo "Data DELETED";
  7. }else{
  8. echo "Error";
  9. }
  10. ?>

有人知道怎么解决这个问题吗?谢谢

djmepvbi

djmepvbi1#

framework 每次将保留一个值。
使用输入数组-
改变 name="framework"name="framework[]" .
在查询中-

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

尝试使用参数绑定以确保安全性。

相关问题