我对PHP和MySQL有一定的经验,所以我很容易掌握一些东西,但是我有点想要得到的东西可能超过我的水平(不太确定这个难度级别)。基本上,我希望创建2个下拉菜单,以删除MySQL表中用户的访问权限。因此,第一个下拉菜单将显示我拥有的用户列表,第二个下拉菜单将用于他们拥有的访问权限。我想在选择用户时,第二个下拉菜单只显示用户可以访问的选项,如;
<form name="form" method="post" action="access.php">
<select name='user'>
<?php
require "sqlconfig.php"; // My SQL Configuration
$conn=mysql_connect($host, $user, $pass); // The Connection
$selectdb=mysql_select_db("$db"); // The Database
$userlist1 = mysql_query("SELECT `Username` FROM `accounts` ORDER BY Username ASC");
while ($userlist = mysql_fetch_array($userlist1)) {
print "<option value='username'>$userlist[Username]</option>";
}
?>
</select>
<select name='task'>
<option value="notask" <?php if($_GET['task'] == notask) { echo "selected"; } ?>>Select a Task</option>
<option value="admin" <?php if($_GET['task'] == admin) { echo "selected"; } ?>>Administrator</option>
<option value="user" <?php if($_GET['task'] == user) { echo "selected"; } ?>>user</option>
<option value="guest" <?php if($_GET['task'] == guest) { echo "selected"; } ?>>Guest</option>
</select>
<input type="submit" value="Remove" />
</form>
我已经拥有表中的权限,每个值对于false为整数0,对于true为1。所以基本上当从第一个菜单中选择用户时,我希望第二个菜单刷新,并且只显示他们拥有的值= 1(这意味着他们拥有它),当然,当提交表单时,它将改变从1到0中选择的任何任务,这意味着它将自行删除。
基本上,当选择用户(例如; Joe)时,第二个菜单将刷新Joe所具有的任务(例如,管理员,用户)。一旦我选择了一个任务,然后点击删除,脚本应该发布用户名菜单,并获得在提交之前选择的任何任务,然后运行脚本将类似'Admin'的用户字段从1(true)更新为0(false )
任何人都可以帮我设置代码,或者至少给我自己设置的方向吗?
答案 0 :(得分:1)
创建一个div并给它一个id="result"
并在该div中添加一个空的select标记。
然后使用jQuery + Ajax,使用以下命令获取第二个下拉列表:
$('select[name="user"]').change(function(){
var user = $(this).val();
$.ajax({
type:'post',
url:'getSecondDropDown.php',
data:'user='+user,
success:function(result){
$('div#result').html(result);
}
});
});
在'getSecondDropDown.php'文件中,包括:
<select name="task">
<?php
$user = $_POST['user'];
$q = mysql_query("SELECT task FROM tablename WHERE user=".$user.") or die();
while($r = mysql_fetch_array($q))
{ ?>
<option value="<?php echo $r['task]; ?>"><?php echo $r['task]; ?></option>
<?php
}
?>
</select>
答案 1 :(得分:0)
您需要使用JavaScript来执行此操作。将AJAX请求发送到服务器中的页面,该页面将为您提取用户的详细信息,然后将结果返回给JavaScript。
在JavaScript中包含数据后,使用DOM操作将第二个<select>
填入结果。