2

session 」というテーブルがあり、そのテーブルには「 userid 」という列があります。

テーブルの例:

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

現在、私のサイトでは、1 つのページにすべての記事がリストされています。各記事はユーザーによって書かれており、各ユーザーには独自のユーザーIDがあります。

私が達成しようとしているのは、記事を書いたユーザー(userid = X)がセッションテーブルに存在する場合、テキストを表示する..

セッションテーブルからユーザーIDを取得しようとしている方法は次のとおりです->

SELECT userid FROM #session

しかし、このコードでは、すべてではなく列から1つのユーザーIDしか取得できないと思います...

誰か私に手を貸してくれませんか?ありがとうございました

4

2 に答える 2

0

記事用のデータベース テーブル (列 userid を持つテーブル article) もあるといいのですが、クエリで内部結合を使用できます。

Select userid FROM article 
JOIN session using(userid)

これにより、セッションテーブルにあり、記事を持っているすべてのユーザーが取得されます

于 2013-04-28T18:02:22.980 に答える
0

以下は、セッションからすべてのユーザー ID を選択します。

SELECT userid FROM session

...これは、あなたが言及したコードとほぼ同じです。ただし、ユーザー ID のリストを取得する必要はありません。特定の 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 に答える