web-dev-qa-db-ja.com

ログインしたユーザーIDに基づいてサブスクライブされたKunenaスレッドを表示する

現在ログインしているユーザーに基づいて、サブスクライブしているすべてのKunenaスレッドを表示しようとしています。

Kunenaはサブスクライブしたスレッドを '#__kunena_user_topics'テーブルに格納します。次のように書きましたが、機能しません。

$user = JFactory::getUser();
$query="SELECT `topic_id` FROM `b2ygx_kunena_user_topics` WHERE `user_id` = ' . $user->id . '"
echo $query;
1
RustyJoomla

データベースクエリについては、適切なJoomlaコーディング標準を使用することをお勧めします。 Joomlaのドキュメントをいつでも参照して、適切に実行したかどうかを再確認できます。

次のことを試してください。

$db   = JFactory::getDbo();   // Initiate database connection
$user = JFactory::getUser();  // Get user object

$query = $db->getQuery(true);     
$query->select($db->quoteName('topic_id'))
      ->from($db->quoteName('#__kunena_user_topics'))
      ->where($db->quoteName('user_id') . ' = '. $db->quote($user->id));
$db->setQuery($query);

$results = $db->loadObjectList();

結果のオブジェクトを取得したので、次のようにループを実行して結果をエコーできます。

foreach ($results as $result)
{
    echo $result->topic_id . '<br>';
}

これにより、次のようなものが出力されます。

26
12
5
89

お役に立てれば

2
Lodder