2017-04-02 2 views
0

Je veux créer une page de statistiques où je peux compter le nombre de raisons données dans une table ... Les raisons sont créées dynamiquement et stockées dans une autre table.PHP Mysql compte des raisons distinctes données où la valeur de raison dans une autre table

Le tableau 1 contient toutes les raisons qui remplissent un champ déroulant ... Le tableau 2 contient les entrées données par l'utilisateur. L'une des colonnes est la valeur de la raison.

Je voudrais compter la quantité de fois que chaque raison apparaît.

Merci pour votre temps et votre aide

Répondre

1

On dirait simplement la déclaration du groupe:

select 
    reason.name reason, 
    count(*) count 
from entry, reason 
where 
    entry.reason = reason.id and 
    entry.time > now() - interval 7 day -- you probably need some filter 
group by reason.id 
+0

Thankyou! Cela a bien fonctionné ... Ce que je voudrais, c'est implémenter ceci entre deux dates ... malheureusement, les données que je travaille ont des dates de chaînes (au format jj/mm/aaaa) Je voudrais que le processus de comptage ci-dessus inclue - 7 (ou +7 jours à partir de la date actuelle) – Retroisbest

+0

'$ result2 = mysqli_query ($ con," SELECT COUNT (id) Valeur AS, signoutreason, signoutdate FROM élèves WHERE signoutdate ENTRE '' .date ('d/m/Y'). "'AND'" .date ('d/m/Y', strtotime ('- 7 jours')). '' 'GROUP BY signoutreason'); ' – Retroisbest

+0

Pour tous essayer de faire une comparaison entre deux chaînes de date ... pas. Il est tellement plus facile de convertir le format de données au format de date dans la base de données! – Retroisbest