用php选择多个表行

时间:2013-05-23 07:48:28

标签: php

您好我有一个从MYSQL填充的表,我想要做的是在每行上都有一个复选框,我可以选择然后按一个按钮并一次更新所有选定的行。

以下是我的复选框的代码。

 <input type='checkbox' name='checked[]' value='<?php echo $row['id']; ?>'>

这是我的PHP代码

 if ($_POST['submit']){ //check if they submitted

  //see which check boxes were selected
  foreach ($_POST['checked'] as $key => $val){

  //update records
  $result = mysql_query("UPDATE masterip_details SET type='3' WHERE id='$key'") 
             or die(mysql_error()); 
    }
  }

目前没有任何反应,如果我尝试使用echo键,那么我就没有ID了

2 个答案:

答案 0 :(得分:1)

您需要使用$val而不是$ key。 $key只会包含checked[]

的订单索引

我还删除了if($_POST['submit'])代码,并将其替换为if(count($_POST['checked']>0))

if (count($_POST['checked']>0)){
    foreach ($_POST['checked'] as $key => $val){

        $val = mysql_real_escape_string($val);

        $result = mysql_query("UPDATE masterip_details SET type='3' WHERE id='{$val}'");
    }
}

答案 1 :(得分:0)

未选中的复选框将不会发送到服务器,我记得有关它的内容只有在选中时才发送1。

因此,您可以将脚本更改为:

<input type='checkbox' name='checked[<?php echo $row['id']; ?>]' />

并使用$ key

进行检查