web-dev-qa-db-fra.com

Afficher les discussions Kunena souscrites en fonction de l'ID utilisateur connecté

J'essaie d'afficher tous les threads Kunena souscrits en fonction de l'utilisateur actuellement connecté.

Kunena stocke les threads abonnés dans la table '#__kunena_user_topics', j'ai écrit ce qui suit, mais cela ne fonctionne pas:

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

Je vous conseillerais de respecter les normes de codage Joomla appropriées pour votre requête de base de données. Vous pouvez toujours vous référer à la documentation de Joomla pour vérifier si vous avez fait quelque chose correctement ou non.

Essayez ce qui suit:

$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();

Maintenant que vous avez un objet de résultats, vous pouvez effectuer une boucle et reproduire les résultats, comme suit:

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

Cela produira quelque chose comme ce qui suit:

26
12
5
89

J'espère que cela t'aides

2
Lodder