-4

好的,假设我有一个论坛,它有两个表,一个称为帖子,另一个是用户。当有人访问该站点时,会调用来自表格帖子的所有帖子。如果我有一个用户暂时被禁止并且我想隐藏他们的所有帖子(或者在这种情况下有多个用户),我怎样才能调用论坛帖子而不显示他们的帖子?我的users表中已经有一个名为active的列。Active 只是 1 或 0 表示禁止与否。

谢谢

4

2 回答 2

3

您的问题非常模糊,但假设以下表结构:

table users
    id  username    password    active
table posts
    id  userid      title       text        date

我将使用以下 SQL 语句。

SELECT p.id, p.title, p.text, p.date FROM posts AS p INNER JOIN users AS u ON u.id = p.userid AND u.active = 1;

现在我不是 SQL 人,这里可能有错误.. 对不起,我不会设置这一切来测试。如果您无法从我的示例中弄清楚,请随时发表评论,我们可以进一步调查。可以在此处阅读有关 mysql JOIN 语法的更多信息

编辑:正如向我指出的那样,INNER JOIN 是正确的 JOIN 使用。

于 2012-05-09T02:10:22.227 回答
-2

在表中创建另一个字段作为标志。说 1 表示显示,0 表示不显示。设置它,以便当您禁止某人时,它会遍历帖子表并找到他们的所有帖子并将标志设置为 0。当显示帖子时,请使用 select * from table where show field =1 in your mysql_query,假设您使用 mysql。

于 2012-05-09T01:41:17.690 回答