2

如何使用codeigniter将用户从第1列添加到第2列?

第 1 列包含所有用户名,第 2 列是空白行


|-----|--------|------------|
|Users|        |Moderators  |
|-----|--------|------------|
|Mark |        |____________|
|JOhn |        |____________|
|Xyz  |        |____________|
|ABC  |->Add   |____________|
|you  |->Remove|____________|
|Me   |->Undo  |____________|
|HIm  |        |____________|
|WE   |        |____________|
|123  |        |____________|
|321  |        |____________|
|-----|--------|------------|

       Save OPtion 

有两列,第 1 列包含所有用户,第 2 列是版主。如果管理员选择其中一个用户然后单击添加,则用户必须在第 2 列中

由于我的声誉很低,我无法发布图片......所以我发布了一个实时示例。(截图

请问有这方面的教程吗?谢谢

4

3 回答 3

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/

于 2013-05-10T08:11:31.607 回答
0

我假设它们是列而不是您编写的 2 个单独的表。尽管这是一个奇怪的解决方案,但您可以更新您的表格。

移动到其他列

UPDATE `yourtablename` SET MODERATORS=USERS;
UPDATE `yourtablename` SET USERS=NULL;

移回其他列

UPDATE `yourtablename` SET USERS=MODERATORS;
UPDATE `yourtablename` SET MODERATORS=NULL;

但正如我所写的,这很奇怪。如果您有两个表,您应该使用INSERT INTO记住,对于此类查询,您应该使用transactions

更好的方法是创建ACL(访问控制列表)之类的东西并放置一些角色资源

为此,您需要三个表。

角色可以

  • 行政人员

  • 版主

  • 用户

  • 超级版主

    等等

资源可以

  • 修改文章
  • 查看文章
  • 删除文章

然后您可以编写两个表和用户之间的连接。用户和角色之间也应该有联系。您应该放置检查用户是否为管理员的表。以结构为例

user_id, role_id

还包含为资源分配角色的表格

role_id, resource_id

然后你可以简单地检查:

$user->isAllowed("ModifyArticle");

这是最好的解决方案。

如果你想简化它,你可以在你的用户字段中放置标志来检查用户是管理员还是版主,或者你可以在你的用户表中添加一些字段,例如:“isAdmin”、“isModerator”,但这是不好的表设计。还要检查Zend_ACL

于 2013-05-10T08:08:53.520 回答
-1
$sql = "INSERT INTO moderators SET ModUserField='" . $user_field[1] . "', ModUserField2='" . $user_field[0] . "'";

$sql = "DELETE FROM users WHERE UserID=" . $user_id;
于 2013-05-10T07:37:40.333 回答