J'ai une table nommée 'tasks' qui contient un tas d'informations (à qui elle est affectée, date de création, date d'échéance, etc.)Tirer les entrées en fonction d'un champ datetime et organiser par mois et par année
Le champ 'task_due_date' est un champ datetime normal. Je voudrais organiser toutes les tâches par ceci; par exemple, si vous avez eu 3 tâches en mars 2013 et 4 en avril, je veux les séparer en divs pour chaque mois afin qu'elles puissent être repliées pour faciliter la lecture.
Je me demandais quelle est la meilleure façon de procéder? Comment puis-je le rendre à l'épreuve du futur? Je sais que je pourrais écrire manuellement des boucles PHP pour chaque année (si le mois est 1, faites-le, si le mois est 2, faites ceci, etc.) mais il semble qu'il y ait un moyen beaucoup plus efficace.
Il doit être au courant des années, donc Janvier 2013 devrait avoir son baisse par rapport à Janvier 2014.
Ma solution de rêve serait:
- Mars 2013: Tâche 1, Tâche 2
- Avril 2013: Tâche 1
- mai 2013: Tâche 1, Tâche 2
Voici le SQL pour mes tâches ta BLE:
CREATE TABLE IF NOT EXISTS `tasks` (
`ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`task_status` int(11) unsigned NOT NULL DEFAULT '1',
`task_creation_date` datetime NOT NULL,
`task_due_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`task_completed_date` datetime DEFAULT NULL,
`task_priority` bigint(20) unsigned NOT NULL,
`task_assignment` int(11) unsigned NOT NULL,
`task_description` longtext NOT NULL,
`task_type` bigint(20) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`),
KEY `task_type` (`task_type`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2698 ;
Cela a fonctionné parfaitement pour moi. Merci beaucoup. – ihateartists
De rien. Bonne chance pour votre projet – thaJeztah