1

我想创建一个用户块我有按钮

<a type="button" value="1" name="block" Cursor="pointer" href="blockuser.php?uid='. $data['id'].'">Block</a>

但我想知道如何最好地使用 PHP、Ajax 以及用户表或单独的块用户表来做到这一点。因此,当我单击块时,我可以使用用户 ID 将值 1 发送到数据库,并阻止他们使用开关查看我的整个配置文件,反之亦然。

然后,如果用户愿意,我将继续创建一个能够在任何给定时间取消阻止该用户的阻止列表。

隐私是必须的!感谢您提供的任何帮助。

4

3 回答 3

0

您的问题中唯一真正的问题是是否为此创建一个新表,因为其余的是针对您提到的技术的一组非常简单的任务。

就个人而言,我会选择简单地在当前用户表中添加一列,并用逗号分隔的用户 ID 列表填充它,您可以简单地在其中搜索用户 ID。这样做的好处是您只需要运行一个查询,而不是检查阻止列表所需的两个查询,然后在两表方案中获取查看的用户信息。

将用户添加到阻止列表是微不足道的(附加用户 ID 可能还有逗号),从阻止列表中删除用户只需要拆分阻止列表,删除正确的用户 ID,然后通过加入逗号重新构建列表。

此外,这仅在您需要身份验证才能查看配置文件时才有用,即使这样,也可以通过简单地创建一个新帐户来绕过这样的系统。

于 2012-07-17T02:19:38.783 回答
0

在数据库中存储个人资料信息的每一行(可能是成员表?)上,您可以添加一个名为“blocked”的行,其中存储被阻止的成员的 ID 号。我会亲自使用分号分隔这些数字并$blocked_ids = explode(";",$blocked)获取每个被阻止的 ID。从那里,您可以使用以下方法检查是否要阻止此人访问个人资料:if(in_array($user_id,$blocked_ids))如果该值在数组中,则阻止个人资料查看。

希望对你有帮助,有什么问题可以在下方评论

于 2012-07-17T02:21:09.700 回答
0

就数据库而言,我可能会这样做 - 创建一个特定于块的表。两个基本字段是阻止者的 id 和被阻止的人的 id。这意味着如果一个人阻止了两个用户,他将在表中有两个条目 - 不要尝试创建一个 SQL 字段来充当数组。

目前,您正在设置使用带有 $_GET 参数的 PHP 阶段的标准请求。这并没有什么大问题,但是如果您希望整个操作在不刷新页面的情况下进行,您可以使用 Ajax。使用 jQuery: $.get("remove.php", { uid: "someID" } );

于 2012-07-17T02:21:53.540 回答