2012-10-18 89 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