【问题标题】:I just can eliminate the last row from the database using checkboxes我可以使用复选框从数据库中删除最后一行
【发布时间】:2014-04-13 17:45:23
【问题描述】:

我有一个 html 表,其中包含来自特定数据库表的所有行值。

我创建了一个 html 表格列来消除数据库中的特定行,在该列中存在一个复选框来检查和消除数据库中的多个表格行。

但是我遇到了一些问题,我只能删除最后一行,例如:假设您检查了第二行,然后单击提交按钮并没有任何反应。

但是如果您检查最后插入的行,然后单击提交,则会从数据库中删除该行。

我只能删除最后一行,我不能通过选中特定数量的复选框来删除多行。

我这样做了:

我使用的是MVC结构:

查看:

<form method='POST'>
<?php
echo "<td><input style='width: 50px;' class='delete' value='delete'  type='submit' name='del[]' /></td>";
    foreach($editjoarray as $key){    
    echo "
    <table>
    <tr>
      <td> ".$key['id']."</td>

      <td><input type='checkbox' name='delete[]' value=".$key['id']." /></td>
    </tr>
    </table>
    </form>";

    }

型号:

function fname(){

if(isset($_POST['del']) && !empty($_POST['delete'])) {
{
    $checkbox = $_POST['delete'];
    $countCheck = count($_POST['delete']);

for($i=0;$i<$countCheck;$i++) {
$del_id = $checkbox[$i];

echo $del_id;
  $sql = "DELETE FROM mytable WHERE id=$del_id";
   $exe = mysql_query($sql) or die(mysql_error());
}
}
}


   printFunction();
}

【问题讨论】:

    标签: php mysql sql arrays foreach


    【解决方案1】:

    您正在关闭循环内的表单标签,因此始终只有一个删除复选框(作为帖子值)。您需要将表单&lt;/form&gt; 的结束标记移到循环外,以便所有复选框位于同一表单中。

    <form method='POST'>
    <?php foreach($editjoarray as $key){    
       /*
       delete checkboxes
       input fields
       */
    
    } ?>
    </form>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-10
      • 2015-11-13
      • 1970-01-01
      • 2017-11-26
      • 2018-03-09
      • 2014-05-27
      • 2015-03-18
      • 1970-01-01
      相关资源
      最近更新 更多