MySQL et chevauchement de 2 périodes - SQL/NoSQL - Programmation
Marsh Posté le 27-03-2007 à 09:35:05
le format xxxx-xx-xx c'est ISO chaispucombien, qui est aussi celui utilisé par la norme XML, pas le format "Date MySQL"... 
 
 
qu'entends-tu par chevaucher ? 
 
y'a 4 cas différents de chevauchement : (et du coup, t'as la solution à ton problème, il ne reste plus qu'à transcrire) 
 
Intervals A et B : 
 
A contient B 
B contient A 
A ne contient que la date de début de B 
A ne contient que la date de fin de B 
 
tu veux détecter les 4 cas ? tu veux savoir les différencier ?
Marsh Posté le 27-03-2007 à 09:36:50
(pour détecter les 4 cas, c'est simple : tu dois vérifier si au moins une date d'un des deux intervals est comprise dans l'autre interval)
Marsh Posté le 27-03-2007 à 09:56:33
Par chevauchement j'entends : 
Soit 2 périodes : 
A : 01/01/2007 - 01/08/2007 
B : 02/03/2007 - 31/09/2007 
 
Soit A déjà stocké en base de donnée. Je voudrais tester si la période B que je veux sauvegarder chevauche uen autre période dans la table (ici A). Dans le cas présent, B chevauche A donc je dois refuser l'ajout
Marsh Posté le 27-03-2007 à 09:57:34
donc, c'est les 4 cas que tu veux tester, et dans ce cas, t'as la solution au poste précédent
Marsh Posté le 27-03-2007 à 09:27:25
Bonjour,
Je me tourne vers vous ayant quelques difficultés pour comparer 2 périodes. Je m'explique :
J'utilise MySQL comme SGBD et PHP pour la partie programmation.
Dans cette base de données, j'ai une table (table_X) qui a 3 champs :
- id (type int)
- datedebut (type date)
- datefin (type date)
Je récupère via une page PHP 2 champs au format "Date MySQL" (soit xxxx-xx-xx)
Je voudrais savoir si dans ma table il existe déjà cette période (facile) ou bien si cette période n'en chevauche pas une autre (plus compliqué) déjà présente dans ma base.
Est-ce que quelqu'un pourrait me donner un coup de main ?
Merci à tous