2

我有一个名为“ session ”的表,该表有一个名为“ userid ”的列。

表格示例:

ROW    userid
-------------
1      61
2      128
3      84

现在在我的网站上,我在一个页面上列出了所有文章,每篇文章都是由用户编写的,每个用户都有自己的用户 ID

我想要实现的是:如果在会话表中写文章 EXISTS 的用户(用户 ID = X)显示文本..

这是我尝试从会话表中获取用户标识的方式->

SELECT userid FROM #session

但我想用这段代码它只需要从列中获取一个用户标识,而不是全部…

有人可以帮我解决这个问题吗?谢谢

4

2 回答 2

0

希望您也有文章的数据库表(具有列 userid 的表文章),您可以在查询中使用内部联接:

Select userid FROM article 
JOIN session using(userid)

这将获取会话表中的所有用户并拥有文章

于 2013-04-28T18:02:22.980 回答
0

以下将从会话中选择所有用户 ID:

SELECT userid FROM session

...这几乎正是您提到的代码。但是,您不需要获取 userid 的列表,您只需要查看表中是否存在某个 id。所以,你要做的是计算用户 ID 是特定值的实例数,这看起来像这样(在 php 中,使用 mysqli):

function is_id_in_session($db, $userid) {
    $total_result = $db->query("SELECT COUNT(userid) FROM session WHERE userid = {$userid}");
    $total = $total_result->fetch_row();
    return ($total[0] > 0);
}
于 2013-04-28T18:03:18.947 回答