Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Outils
Outils Forum d'entraide sur les outils pour MySQL. Avant de poster -> Outils MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/03/2006, 17h21   #1
Futur Membre du Club
 
Inscription : mars 2004
Messages : 63
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 63
Points : 15
Points : 15
Par défaut Requête filtre sur des rendez vous

Bonjour à toutes et à tous,

Comme d'habitude, je reviens vers vos supers conseils (et compétences) lorsque je chauffe trop sur un probléme...

Voilà ma soucis :

Je devellope un outils de reservation de salles .

J'en suis donc au stade de la requête permettant de savoir si une salle est disponible ou non à une date donnée sur une tranche horaire donnée .

Voici la requête que j'utilisais :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
$qry =  
			"SELECT COUNT(*) FROM ".RESA." ".
			"WHERE NOT(('".$begresa."'< BegRs ".
			"AND '".$endresa."'< BegRs ) ".
			"OR ('".$begresa."'> EndRs ".
			"AND '".$endresa."'> EndRs )) ".
			"AND IdRm =".$idroom." ". 
			"AND DateRs ='".$curyear."-".$curmonth."-".$curday."'"; 
 
IF ( $col[0] ) { 
Alors la salle n'est pas dispo
...
}
Cette requête est presque parfaite, sauf qu'elle ne permet des reservations contigues , exemple :

Une réservation commencant à 09h00 et finissant à 10h00 existe déjà
Avec cette requête impossible de placer une réservation de 08h00 à 09h00 , 09h00 étant déjà réservé ...

J'ai essayé de palier ce soucis en testant les tranches de réservation sur
- HeureDeb + 1 min - HeureFin - 1 min
Exemple : Un rendez vous pris de 08h00 à 09h00 sera tester sur la tranche 08h01 à 08h59...

Mais du coup le requête est devenu trop permissive...

J'en appelle donc à vos lumiére , à vos expériences ...

Comment gérer ce cas ?

Une requête est elle suffisante, ou faut-il obligatoirement passé par du code ? ( PHP pour ce qui me concerne)

Merci d'avance pour vos réponses.

Amicalement
Jérémy
jdotti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 19h48   #2
Rédacteur
 
Avatar de pcaboche
 
Homme Pierre Caboche
Inscription : octobre 2005
Messages : 2 197
Détails du profil
Informations personnelles :
Nom : Homme Pierre Caboche
Âge : 32
Localisation : Singapour

Informations forums :
Inscription : octobre 2005
Messages : 2 197
Points : 4 727
Points : 4 727
Par défaut Re: Requête filtre sur des rendez vous

Citation:
Envoyé par jdotti
Comme d'habitude, je reviens vers vos supers conseils (et compétences) lorsque je chauffe trop sur un probléme...
Ca, c'est une bonne idée


Citation:
Envoyé par jdotti
Je devellope un outils de reservation de salles.

J'en suis donc au stade de la requête permettant de savoir si une salle est disponible ou non à une date donnée sur une tranche horaire donnée .
... je ne suis pas allé plus loin dans la lecture de ta question.

Va voir ici :
http://pcaboche.developpez.com/artic...rvations_hotel
et dis-nous si ça répond à ton besoin.
pcaboche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 22h15   #3
Futur Membre du Club
 
Inscription : mars 2004
Messages : 63
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 63
Points : 15
Points : 15
Par défaut Super

Bonsoir,

Apparement ça à l'air de super bien coller ... Je teste ça demain et cloture le sujet en RESOLU ... encore une fois...

Mais pourquoi est ce que je passe autant de temps à chercher la solution à un probléme alors qu'ici la résolution m'est servi sur un plateau ?

Pour apprendre ?
jdotti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 23h53   #4
Rédacteur
 
Avatar de pcaboche
 
Homme Pierre Caboche
Inscription : octobre 2005
Messages : 2 197
Détails du profil
Informations personnelles :
Nom : Homme Pierre Caboche
Âge : 32
Localisation : Singapour

Informations forums :
Inscription : octobre 2005
Messages : 2 197
Points : 4 727
Points : 4 727
Par défaut Re: Super

Citation:
Envoyé par jdotti
Mais pourquoi est ce que je passe autant de temps à chercher la solution à un probléme alors qu'ici la résolution m'est servi sur un plateau ?
Et bien pour me dire si la requête marche bien ou pas (honnêtement, j'ai pas eu le temps de tout tester), parce que je n'ai peut-être pas bien évalué tous les cas de figure (y compris ce problème de limite aux bornes). Auquel cas cela me permettra d'améliorer mon article.

Mais c'est vrai que ça arrive souvent: on cherche pendant des heures et on passe 100 fois à coté de la solution sans jamais la voir. Ce n'est pas évident...
pcaboche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2006, 12h28   #5
Futur Membre du Club
 
Inscription : mars 2004
Messages : 63
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 63
Points : 15
Points : 15
Par défaut Re: Super

Citation:
Envoyé par pcaboche
Citation:
Envoyé par jdotti
Mais pourquoi est ce que je passe autant de temps à chercher la solution à un probléme alors qu'ici la résolution m'est servi sur un plateau ?
Et bien pour me dire si la requête marche bien ou pas (honnêtement, j'ai pas eu le temps de tout tester), parce que je n'ai peut-être pas bien évalué tous les cas de figure (y compris ce problème de limite aux bornes). Auquel cas cela me permettra d'améliorer mon article.

Mais c'est vrai que ça arrive souvent: on cherche pendant des heures et on passe 100 fois à coté de la solution sans jamais la voir. Ce n'est pas évident...
Re salut,

Ouf, après un bon coup de bourre, j'ai enfin eut le temps de tester ta réquête... Le hic en fait, c'est que ta réquête est basé sur des dates, alors que la mienne est basé sur des heures...

Cela n'a pas l'air de fonctionner dans ce cas...

A moins qu'il faille formater les heures en entier avant la comparaison... J'essaie de je vous tiens au courant.

Jérémy
jdotti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2006, 15h41   #6
Rédacteur
 
Avatar de pcaboche
 
Homme Pierre Caboche
Inscription : octobre 2005
Messages : 2 197
Détails du profil
Informations personnelles :
Nom : Homme Pierre Caboche
Âge : 32
Localisation : Singapour

Informations forums :
Inscription : octobre 2005
Messages : 2 197
Points : 4 727
Points : 4 727
Par défaut Re: Super

Citation:
Envoyé par jdotti
Le hic en fait, c'est que ta réquête est basé sur des dates, alors que la mienne est basé sur des heures...
Qu'est-ce que ça change? Tu peux aussi bien comparer entre elles des dates que de heures ou des entiers. Tu disposes même du format DATETIME pour représenter un moment précis (date+heure)

Si il y a un problème, ça peut venir du BETWEEN et de son comportement aux bornes (dans ce cas, utiliser le bon vieil opérateur '<'). En effet, dans le cas des chambres d'hotel, les dates de réservation incluent les bornes, pas dans le cas des réservations de salle (une réunion se termine à 10:00 et une autre peut commencer à cette même heure).
pcaboche est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h53.


 
 
 
 
Partenaires

Hébergement Web