J'ai un tableau avec les données suivantes :
______________________
| Name | Date |
----------------------
| Bob | 2016-09-16 |
| Ben | 2016-10-03 |
| Sam | 2016-10-03 |
En utilisant les éléments suivants :
SELECT
case
when datediff( CURDATE(), `the_date`) = 3 then '3 Days'
when datediff( CURDATE(), `the_date`) between 4 and 6 then '4-6 Days'
when datediff( CURDATE(), `the_date`) > 6 then '7 or more days'
end as days,
sum( case
when datediff( CURDATE(), `the_date`) <= 3 then 1
when datediff( CURDATE(), `the_date`) between 4 and 6 then 1
when datediff( CURDATE(), `the_date`) > 6 then 1
else 0
end ) as tot
FROM my_table
GROUP BY
case
when datediff( CURDATE(), `the_date`) <= 3 then '3 Days'
when datediff( CURDATE(), `the_date`) between 4 and 6 then '4-6 Days'
when datediff( CURDATE(),`the_date`) > 6 then '7 or more days'
end ;
et en utilisant ensuite
echo '<p>'.$row['tot'].'</p>';
J'obtiens les résultats suivants en triant mes lignes selon qu'elles datent de moins de 3 jours, de 4 à 6 jours ou de plus de 7 jours.
1
2
Idéalement, j'aimerais appliquer une classe aux balises p, par exemple class="urgent" pour les balises datant de plus de 7 jours, orange pour les balises datant de 4 à 6 jours et vertes pour les balises datant de moins de 3 jours. J'aimerais ensuite entourer le numéro d'un texte unique tel que "Il est urgent de répondre à résultat application"