2010-11-01 136 views
0

我創建了一個頁面來顯示關於或低於特定經理的所有用戶。如果用戶已經註冊,他的賬戶將被停用,直到有關人員激活它爲止。我已顯示所有用戶和複選框是否停用或激活。在提交時,插入命令不起作用,並且數據庫中沒有任何內容被更改。我有隱藏的用戶標識,但不能應用它。請幫助我通過複選框插入

<?php 

//get userid from login session 

     $memberid = $_SESSION['SESS_MEMBER_ID']; 

    //display all users concerning the user(login) is leader 
     $sql = mysql_query("SELECT * FROM user WHERE userid in (SELECT userid FROM dept_user WHERE lead_id = '$memberid')"); 

     //display results in table 
     print '<table border=1>'; 

print '<tr><td>Activate</td><td>First Name</td><td>Last Name</td><td>Email</td>td>Activate</td>'; 

print '<form method="GET" action="'.$PHP_SELF.'">'; 

$count = 0; 

    while($res = mysql_fetch_array($sql)){ 

$activate = $res['activate']; 

$checked = ''; 

$user = $res['userid']; 

    if ($activate=='1'){ 

$checked = 'checked'; 

     } 

print '<tr><td><input type="checkbox" value="'.$user.'" name="activate[]" '.$checked.'></td>'; 

print '<td>'.$res['firstname'].'</td>'; 

print '<td>'.$res['lastname'].'</td>'; 

    print '<td>'.$res['email'].'</td>'; 

    print '<td>'.$res['activate'].'</td></tr>'; 

    print '<input type="hidden" name="userid" value="'.$user.'">'; 

    $count++; 

    } 

    print '</table>'; 


print '<br />With selected do:<br />'; 

print '<select name="useridselect">'; 

print '<option value="Select">Select</option>'; 

print '<option value="1">Activate</option>'; 

print '<option value="0">Desactivate</option>'; 

print '</select>'; 

print '<br /><input type="submit" value="Submit" name="submit">'; 

print '</form>'; 

    $useridselect = $_GET['useridselect']; 

if(isset($_GET['submit'])){ 

foreach($_GET['activate'] as $value){ 

print_r($value); 

$update=mysql_query("UPDATE user SET activate='$useridselect' WHERE userid='$user'"); 
     } 

for($i=0;$i<$count;$i++){ 

$sql1="UPDATE user SET activate='$useridselect' WHERE userid='$user'"; 

$result1=mysql_query($sql1); 

} 

} else{ 

echo 'No actions yet performed'; 

} 

?> 
+0

定義「不工作」。發生了什麼或沒有發生?查詢是什麼樣的? – 2010-11-01 10:41:43

+0

數據庫選擇和數據庫連接的命令在哪裏? – Victor 2010-11-01 10:48:22

+0

連接在另一個文件上..除了保存階段以外的所有工作。不能處理useid。我需要設置1爲激活,0爲禁用 – vimal 2010-11-01 11:02:14

回答

1

我覺得你的更新查詢得到失敗,因爲你不分配複選框值:

 

foreach($_GET['activate'] as $value){ 

print_r($value); 
//Here instead of userid='$user' should be userid='$value' 
$update=mysql_query("UPDATE user SET activate='$useridselect' WHERE userid='$value'"); 
} 

我不明白下面的代碼的目的。

 
for($i=0;$i<$count;$i++){ 

$sql1="UPDATE user SET activate='$useridselect' WHERE userid='$user'"; 

$result1=mysql_query($sql1); 

} 

注意:請確保至少有一個複選框被選中。

+0

thx dr。它的工作。 suposed我希望在combox box上添加另一個選項來刪除記錄。是否有可能在? – vimal 2010-11-01 11:38:33

+0

是的,這是可能的。 – 2010-11-01 12:20:07

0

將您的GET方法更改爲POST方法,以便將隱藏值也POSTED以及腳本。此外,更容易分離數據庫邏輯,而不是一次又一次地引用相同的腳本。

0

您也可以按照相同的邏輯進行刪除。使用值爲userid的複選框陣列