我创建了一个页面来显示特定经理之下或之下的所有用户。如果用户已注册,他的帐户将被停用,直到该人关注激活它。我已经显示了所有用户以及是否要停用或激活的复选框。在提交时,insert命令不起作用,并且数据库中没有任何更改。我有隐藏但不能应用它的用户ID。能帮帮我吗
<?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 :(得分: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); }
注意:请确保选中至少一个复选框。
答案 1 :(得分:0)
将您的GET方法更改为POST方法,因此隐藏值也会对脚本进行POSTED。此外,更容易分离数据库逻辑,而不是一遍又一遍地引用相同的脚本。
答案 2 :(得分:0)
您可以按照相同的逻辑删除。使用值为user id
的复选框数组