Nombre de cours dans une catégorie

Nombre de cours dans une catégorie

par sabrina nina,
Nombre de réponses : 6

bonjour,

sur la page d'accueil de ma plateforme j'ai choisi d'afficher les catégories et sous catégories donc mon affichage ressemble à ceci:

catégorie(nombre de cours dans la catégorie)

sous catégorie 1(nombre de cours dans la sous catégorie1)

sous catégorie2 (nombre de cours dans la sous catégorie2)

bon le problème c'est que le nombre de cours  dans la catégorie =/ (n'est pas égal)à la somme de cours des sous catégories

je vais essayer de donner un exemple pour etre plus claire

exemple:

Catégorie  (0)

  • sous catégorie 1 (2)
  • sous catégorie 2 (3)

Vous voyez que dans catégorie il me met 0 au lieu de 5 pourais-je régler cela? si oui comment?

merci

Moyenne des évaluations  -
En réponse à sabrina nina

Re: Nombre de cours dans une catégorie

par Lucas M.,

Bonjour,

Le chiffre entre parenthèse donne le nombre de cours dans l'item en question et pas la somme des cours dans l'ensemble des catégories enfants. Il n'y a pas de distinction entre une catégorie et une sous catégorie. Dans votre exemple il n'y pas de cours à proprement parler dans l'item "catégorie" il est donc tout à fait normal qu'un "0" s'affiche.
Il faudrait faire un développement propre, ou chercher si quelqu'un l'a déjà fait ailleurs.

Lucas

En réponse à sabrina nina

Re: Nombre de cours dans une catégorie

par Alexandre Scherbyna,

Bonjour,

La catégorie peut contenir les cours et les sous catégories, comme le dossier peut contenir les fichiers et les sous dossiers. Votre Catégorie contienne 0 cours et 2 sous catégories.

En réponse à Alexandre Scherbyna

Re: Nombre de cours dans une catégorie

par sabrina nina,

oui je suis daccord qu'elle contienne 0 cours et deux sous catégories

mais y'aurai-t-il pas un moyen de faire en sorte que sa m'affiche la somme des cours dans les sous catégories?!!

En réponse à sabrina nina

Re: Nombre de cours dans une catégorie

par Patrick Lemaire,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour,

Je peux vous proposer la requête SQL que j'utilise pour ces données statistiques :

SELECT count(*) FROM moodle.mdl_course WHERE moodle.mdl_course.category IN (SELECT id FROM moodle.mdl_course_categories WHERE moodle.mdl_course_categories.path LIKE "/XX/%" OR moodle.mdl_course_categories.path="/XX");

Je prends comme hypothèse que :

  • vous êtes en moodle 1.9.X
  • votre base de données est moodle
  • vos tables sont préfixées par mdl_

Par contre, il faut remplacer "à la main" la valeur de XX par l'id de la catégorie. Si on veut une sous-catégorie, il faudra remplacer par "/XX/YY" en adaptant les id des catégories YY étant sous-catégorie de XX, mais vous l'aurez compris...

Désolé, ce n'est pas une réponse forcément "accessible" mais elle répond à votre problème. On doit pouvoir faire mieux et donner les chiffres en pour l'ensemble des catégorie d'une certaine profondeur mais je ne l'ai pas faite.

A bientôt,
Patrick

P.S. : Possiblement à relier avec le plugins report_customsql

Moyenne des évaluations Utile (1)
En réponse à Patrick Lemaire

Re: Nombre de cours dans une catégorie

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour,

Je ressuscite cette discussion ancienne, car elle contient une requête utile, concernant une problématique qui peut revenir régulièrement.

Je précise que, les tables liées aux cours et catégories de cours n'ayant pas évolué sur cet aspect, cette requête est encore valable avec Moodle 2.9 sourire

Si on est déjà dans la bonne base de données, on peut aussi l'écrire de cette façon (avec une condition supplémentaire pour ne compter que les cours "Ouverts aux étudiants") :

SELECT count(*) FROM mdl_course
WHERE category IN
(SELECT id FROM mdl_course_categories AS cc
 WHERE cc.path = '/XX/YY'
  OR cc.path LIKE '/XX/YY/%'
  )
AND visible=1;

Et si on veut l'utiliser depuis les plugins de rapports personnalisés, il ne faudra pas oublier de remplacer "mdl_" par "prefix_".

Séverin