Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1679 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [mysql] tester chevauchement entre deux periodes

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[mysql] tester chevauchement entre deux periodes

n°1438789
nintendose
Dentist to the Stars
Posté le 08-09-2006 à 02:35:32  profilanswer
 

Ola,
 
Je cree un petit module permettant l'ajout de bannieres pour une periode donnee.
 
Lors de l'ajout d'une banniere, je voudrais tester via une requete mysql si pour la periode pour laquelle je souhaite ajouter mon entree dans ma base, une banniere existe deja, afin que pour une periode donne seule une banniere n'existe.
 
Par exemple, si je veux faire un INSERT pour une periode allant du 14 au 30 septembre, je cherche a verifier si dans ma base aucune entree ne couvre cet intervalle de date.
 
Ma base contient 4 champs:  
 
id | banner_img | start_date | end_date
 
 
 
Voici les 4 cas possibles que je dois tester :
 
 
|-------|
|-------|
 
 
    |--------|
|------|
 
 
|-------|
   |---|
 
 
|-------|
    |-------|
 
 
J'aimerais savoir si en une seule requete je peux tester tous ces cas de figure ? SI ca me retourne 0, comme ca je serai tranquille pour ajouter mon entree sans me soucier d'un chevauchement eventuel...
 
J'ai fait quelques essais mais je narrive pas a gerer tous les cas de figure en une seule requete :/
Des idees ?
 
Merci d'avance


---------------
Expatrie a Jakarta (Indonesie) depuis fevrier 2006.
mood
Publicité
Posté le 08-09-2006 à 02:35:32  profilanswer
 

n°1438794
betsamee
Asterisk Zeperyl
Posté le 08-09-2006 à 07:36:51  profilanswer
 

Code :
  1. select id
  2. from bannieres
  3. where start_date between '2006-09-14' and '2006-09-30'
  4. or end_date between '2006-09-14' and '2006-09-30


 
si tu ne recupere aucun resultat tu peux faire ton insert


Message édité par betsamee le 08-09-2006 à 07:37:25
n°1438892
nintendose
Dentist to the Stars
Posté le 08-09-2006 à 10:26:53  profilanswer
 

ah merci, j'avais completement oublie BETWEEN. merci pour la reponse, rapide qui plus est :)
 

n°1438916
betsamee
Asterisk Zeperyl
Posté le 08-09-2006 à 10:52:58  profilanswer
 

tu aurais aussi pu faire sans between avec :

Code :
  1. where (start_date >= '2006-09-14' and start_date <= '2006-09-30') or (end_date >= '2006-09-14' and end_date <='2006-09-30)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [mysql] tester chevauchement entre deux periodes

 

Sujets relatifs
Problème avec Mysql et Show processlist[OPTIMASATION MYSQL/PGSQL] requetes imbriquées
Chevauchement des avatars si les messages sont trop coursProblème avec un update en php/mysql
DBD::Mysql DBI CGI vs Script[MySQL] Probléme sur requete pas simple !
[mysql] trigger lors d'une insertion...Base MySql sur free et gestion de traductions sur un site web
script alternatifs pour connexion à un serveur MySQL[RESOLU]newsletter - vérifier l'installation de Mysql [RESOLU]
Plus de sujets relatifs à : [mysql] tester chevauchement entre deux periodes


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR