web-dev-qa-db-fra.com

Utilisateur K2 afficher le nombre total de résultats d'élément

J'ai une exigence pour laquelle je veux montrer le nombre total de hits que les éléments d'un utilisateur ont été lus. Par exemple, s'ils ont dix éléments K2, chacun d'eux ayant été lu 10 fois, je souhaite afficher le nombre total de hits (dans ce cas, 100) indiquant que le total des éléments des utilisateurs a été lu.

K2 a une variable, que je peux reprendre pour chacun des éléments:

<?php echo $item->hits; ?>

Mais il me faut un moyen d’ajouter tous les objets de l’auteur.

** Mise à jour **

Donc je pense que cela pourrait être fait en utilisant une requête SQL? Quelque chose de semblable à:

SELECT count('hits') FROM #__k2_items WHERE authorid='id';
2
RustyJoomla

Cela devrait être ce dont vous avez besoin.

$db = JFactory::getDbo();

$query = $db->getQuery(true);
$query->select($db->qn('hits'))
      ->from($db->qn('#__k2_items'))
      ->where($db->qn('created_by') . ' = ' . $db->q($this->user->id));
$db->setQuery($query);

$results = $db->loadObjectList();

$sum = 0;
foreach ($results as $key => $val)
{
    $sum+= $val->hits;
}

echo number_format($sum);

Une requête simple dans la base de données qui renvoie les résultats pour tous les articles créés par l'auteur de l'article en cours d'affichage.

Il ajoute chacune des valeurs dans une boucle foreach et affiche le résultat.

J'espère que cela t'aides :)

1
Lodder