par
sadeq » 21 août 2012, 19:23
Bonjour, voici un exemple qui réalise ta requête:
Soit la table source nommée : 't_events'
--
-- Structure de la table `t_events`
--
CREATE TABLE IF NOT EXISTS `t_events` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`titre` varchar(255) NOT NULL,
`debut` date NOT NULL,
`fin` date NOT NULL,
PRIMARY KEY (`id`)
) ;
--
-- Contenu de la table `t_events`
--
INSERT INTO `t_events` (`id`, `titre`, `debut`, `fin`) VALUES
(1, 'événement A', '2012-08-01', '2012-11-30'),
(2, 'événement B', '2012-03-01', '2012-11-30'),
(3, 'événement C', '2012-01-01', '2012-12-31'),
(4, 'événement D', '2012-03-01', '2012-12-31'),
(5, 'événement E', '2012-08-01', '2012-12-31'),
(6, 'événement F', '2012-09-01', '2012-10-31');
Voici la requête qui liste les événements concernant aujourd'hui, classés par ordre des plus récents.
SELECT id, titre, debut, fin
FROM t_events
WHERE debut <= now( )
AND fin >= now( )
ORDER BY debut DESC , fin ASC
En voici le résultat:
id --- titre ------------ debut ------------- fin
1 --- événement A --- 2012-08-01 --- 2012-11-30
5 --- événement E --- 2012-08-01 --- 2012-12-31
2 --- événement B --- 2012-03-01 --- 2012-11-30
4 --- événement D --- 2012-03-01 --- 2012-12-31
3 --- événement C --- 2012-01-01 --- 2012-12-31
Voila, le jour d'aujourd'hui est le point central de la liste des segments de temps représentant les événements.
dC <-- dD/dB <--- dE/dA <-- Aujourd'hui --> fA/fB --> fE/fD/fC

Bonjour, voici un exemple qui réalise ta requête:
Soit la table source nommée : 't_events'
[sql]
--
-- Structure de la table `t_events`
--
CREATE TABLE IF NOT EXISTS `t_events` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`titre` varchar(255) NOT NULL,
`debut` date NOT NULL,
`fin` date NOT NULL,
PRIMARY KEY (`id`)
) ;
--
-- Contenu de la table `t_events`
--
INSERT INTO `t_events` (`id`, `titre`, `debut`, `fin`) VALUES
(1, 'événement A', '2012-08-01', '2012-11-30'),
(2, 'événement B', '2012-03-01', '2012-11-30'),
(3, 'événement C', '2012-01-01', '2012-12-31'),
(4, 'événement D', '2012-03-01', '2012-12-31'),
(5, 'événement E', '2012-08-01', '2012-12-31'),
(6, 'événement F', '2012-09-01', '2012-10-31');[/sql]
Voici la requête qui liste les événements concernant aujourd'hui, classés par ordre des plus récents.
[sql]SELECT id, titre, debut, fin
FROM t_events
WHERE debut <= now( )
AND fin >= now( )
ORDER BY debut DESC , fin ASC[/sql]
En voici le résultat:
[quote][b]id --- titre ------------ debut ------------- fin[/b]
1 --- événement A --- 2012-08-01 --- 2012-11-30
5 --- événement E --- 2012-08-01 --- 2012-12-31
2 --- événement B --- 2012-03-01 --- 2012-11-30
4 --- événement D --- 2012-03-01 --- 2012-12-31
3 --- événement C --- 2012-01-01 --- 2012-12-31[/quote]
Voila, le jour d'aujourd'hui est le point central de la liste des segments de temps représentant les événements.
[b][color=#008000]dC[/color] <-- [color=#000080]dD[/color]/[color=#BF4000]dB[/color] <--- [color=#FF00BF]dE[/color]/[color=#FFFF00]dA[/color] <--[color=#FF0000] Aujourd'hui [/color]--> [color=#FFFF00]fA[/color]/[color=#BF4000]fB[/color] --> [color=#FF00BF]fE[/color]/[color=#000080]fD[/color]/[color=#008000]fC[/color][/b]
:wink: