2012-10-18 61 views
-1

我有节数用户存储阵列的复选框值

$listuser = mysql_query('SELECT id,firstname,lastname,approve FROM user'); 
echo '<form action="" method="post">'; 
echo '<table> 
      <tr><td>Name</td> 
       <td>AdminApprove</td> 
      </tr>'; 
while($row = mysql_fetch_assoc($listuser)) 
{ 
    $id = $row['id']; 
    $firstname = $row['firstname']; 
    $lastname = $row['lastname']; 
    echo '<tr> 
      <td><input type="hidden" name="id[]" value ='.$id.'></td> 
      <td>'.$firstname.''.$lastname.'</td> 
      <td><input type="checkbox" name="approve[]"></td> 
     </tr>'; 
} 
echo '<tr><td><input type="submit" name="submit" value="submit"></td></tr>'; 
echo '</table></form>'; 

表提交表单

$postedid = $_POST['id']; 
    $approve = isset($_POST['approve']) ? 1 : 0; 
    $approvestudent = 'UPDATE user SET approve = '.$approve.' WHERE id = '.$postedid.''; 
    $result_update = mysql_query($approvestudent); 

我想无论是批准的一个或多个在同一时间为每个学生和后核准的复选框值需要存储到数据库,或者使用0或1

回答

0

$_POST['id']是数组不是字符串或整数

您可以使用PHP serialize()功能数组转换成字符串

$postedid = $_POST['id']; 
    $approve = $_POST['approve']; 

应该

$postedid = serialize($_POST['id']); 
    $approve = serialize($_POST['approve']); 
+0

雅那很好,但是当我只批准2的用户,其状如批准的所有用户,并与存储值1,但我只需要2个用户被批准。 – karthik

+0

我在您的问题中看不到这样的代码 – StaticVariable

+0

我在上面的代码中显示了所有带有复选框的用户 – karthik