counter : l'utiliser pour compter le nombre d'articles d'une categorie ?

Plus d'informations
il y a 3 ans 7 mois #688 par schtroumph
Salut

Je cherche un moyen d'afficher le nombre d'article d'une catégorie. Genre : ' Au 14/09/2020 il y a 20 articles sur le site ".

Utilisant UP j'ai vue l'action counter. Mais c'est uniquement pour passer de 0 a un chiffre prédéfinie. Est-ce que ça serait possible de l’utiliser pour ce que j'aimerais faire ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 ans 7 mois #689 par lomart
Bonjour,
Oui, si tu peux fournir la valeur en PHP avec l'action ph, psql ou une des actions jxxx
Bonne journée

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 ans 7 mois #690 par schtroumph
Je n'y connais rien en php :S . L'action qui serait la mieux c'est jcontent-by-categories. Au lieu d'afficher la liste des articles il faudrait faire afficher le nombre d'articles. Donc tu veux dire combiner counter et cette action ?

Si c'est ça j'ai regardé mais je ne vois pas du tout comment faire.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 ans 7 mois - il y a 3 ans 7 mois #691 par lomart
Salut,

Les actions jxxx ne conviennent pas. La seule qui pourrait être utilisée est jcategories_list, mais elle n'a pas de compteur.
Il faut donc utiliser l'action SQL. Ce qui donne pour compter le nombre d'actions de UP :
Code:
{up counter=0,{up sql=content | select=COUNT(id) AS 'nb' | WHERE=catid=8 | template=##nb## | presentation=0 } }
L'action counter prend comme unique argument la valeur de début et fin. Pour la valeur de fin (maxi), on utilise une requête SQL avec le nom de la table comme argument principal, select contient la fonction de comptage avec le nom de la variable pour récupérer le résultat, where est la condition à respecter ( id catégorie = 8 ).
Présentation=0 indique que l'on veut un résultat brut et template contient le nom de la variable (avec les # pour respecter la syntaxe de UP)
Voilà une bonne façon d'apprendre le SQL ;-))
Dernière édition: il y a 3 ans 7 mois par lomart.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 ans 7 mois - il y a 3 ans 7 mois #692 par schtroumph
Entre tes explications et les infos que j'ai eux sur sql.sh je pense avoir compris (je met les liens vers les pages de sql.sh pour celles et ceux que ça intéresserait).

sql=content

C'est donc le nom de la table pour dire que c'est dedans que la requête devra intervenir.

select=COUNT(id) AS 'nb'

La fonction COUNT permet de compter, mais c'est la suite (id) AS 'nb' que je n'ai pas compris.

WHERE=catid=18

WHERE c'est pour extraire les données (le nombre d'article) se trouvant dans la catégorie où se trouve les articles à compter. Mais j'ai oublié de préciser qu'en fait les articles se trouve dans des sous-dossiers :

Fiches des heurtoirs (aucun article dedans)
=> Anneaux
=> Croches
=> Gouttes
=> Mains

J'ai vue qu'il y a IN qui permet de mettre plusieurs valeurs : WHERE nom_colonne IN ( valeur1, valeur2, valeur3, ... )

Mais dans UP comment je fait ? j'ai essayé WHERE=catid=IN(18,19,20,21) mais ça ne marche pas.

Je doit aussi faire un comptage de deux autres données mais qui se trouve dans deux champs perso. Si j'ai bien compris le truc je vais essayer de le faire.
Dernière édition: il y a 3 ans 7 mois par schtroumph.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 ans 7 mois - il y a 3 ans 7 mois #693 par lomart

Mais dans UP comment je fait ? j'ai essayé WHERE=catid=IN(18,19,20,21) mais ça ne marche pas.

Code:
WHERE=catid IN(18,19,20,21)
Sans le signe égal (comme dans l'exemple que tu cites)
Dernière édition: il y a 3 ans 7 mois par lomart.

Connexion ou Créer un compte pour participer à la conversation.

Propulsé par Kunena