第1列包含所有用户名,第2列是空行
|-----|--------|------------|
|Users| |Moderators |
|-----|--------|------------|
|Mark | |____________|
|JOhn | |____________|
|Xyz | |____________|
|ABC |->Add |____________|
|you |->Remove|____________|
|Me |->Undo |____________|
|HIm | |____________|
|WE | |____________|
|123 | |____________|
|321 | |____________|
|-----|--------|------------|
Save OPtion
有两列,第1列包含所有用户,第2列用于主持人。如果管理员选择其中一个用户然后单击添加,则用户必须位于第2列
由于我的声誉很低,我无法发布图片......所以我发布了一个实时示例。 (Screenshot)
有关于它的任何教程吗? 谢谢
答案 0 :(得分:1)
左侧像
<select name="users" multiple>
<option value="mark">Mark</option>
<option value="john">John</option>
<option value="zyx">XYZ</option>
<option value="abc">ABC</option>
</select>
您可以使用表单提交,在主持人表格中插入所选内容并在页面
中获取并显示主持人用户如果您不需要重新加载页面 使用java脚本 在主持人col
中显示所选值这是现场解决方案 http://jsfiddle.net/asvignesh/RMgQq/
答案 1 :(得分:0)
我认为你写的是colummns而不是2个单独的表。尽管这是一个奇怪的解决方案,你可以更新你的表。
转到其他列
UPDATE `yourtablename` SET MODERATORS=USERS;
UPDATE `yourtablename` SET USERS=NULL;
移回其他列
UPDATE `yourtablename` SET USERS=MODERATORS;
UPDATE `yourtablename` SET MODERATORS=NULL;
但正如我写的那样很奇怪。如果您有两个表格,则应使用 INSERT INTO ,请记住,对于此类查询,您应使用交易。
更好的方法是创建类似 ACL(访问控制列表)的内容,并设置一些角色和资源
你需要三张桌子。
角色可以是
Supermoderator
等
资源可以是
然后,您可以在两个表和用户之间编写连接。用户和角色之间也应该有连接。你应该把表检查用户是否是管理员。例如,结构
user_id, role_id
也是为资源分配角色的表
role_id, resource_id
然后你可以简单地检查:
$user->isAllowed("ModifyArticle");
这是最好的解决方案。
如果你想简化它,你可以在你的用户字段中放置标志来检查用户是管理员还是管理员,或者你可以在你的用户表中添加一些字段,如:“isAdmin”,“isModerator”但它的设计很糟糕表。另请查看Zend_ACL
答案 2 :(得分:-1)
$sql = "INSERT INTO moderators SET ModUserField='" . $user_field[1] . "', ModUserField2='" . $user_field[0] . "'";
$sql = "DELETE FROM users WHERE UserID=" . $user_id;