Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum 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 16/11/2011, 20h10   #1
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Par défaut Gestion d'exception dans requête MYSQL

Bonjour,

Je souhaite ajouter dans une requête une gestion d'exception concernant un évènement.

Par exemple un évènement qui commencerait le 01/11/2011 et qui finirait le 30/11/2011 n'aurait pas lieu le 14/11/2011 et le 18/11/2011.

Voici ma requête :

Code :
1
2
3
4
5
 
" SELECT * ".
" FROM MATABLE ".
" WHERE ('$annee-$mois-$jour' BETWEEN SOIREE_DATE AND SOIREE_DATE_FIN) AND ( (SOIREE_DATE_EXCEP1 != '$annee-$mois-$jour') OR (SOIREE_DATE_EXCEP2 != '$annee-$mois-$jour') ) ".
" ORDER BY SOIREE_DATE ASC  ";
Mon évènement s'affiche bien dans la période souhaitée mais les exceptions ne fonctionne pas (l'évènement s'affiche quand même les jours d'exception).

De quelle manière devrais-je m'y prendre pour gérer mes exceptions ?

Merci par avance pour l'aide apportée.

Aurélien
__________________
Salutations à tous les amis du forum Développez

http://www.dusk.fr
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2011, 22h57   #2
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 461
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 461
Points : 2 551
Points : 2 551
Envoyer un message via Skype™ à rawsrc
Salut,

Tu devrais gérer tes dates exceptionnelles dans une table séparée.
Quelque chose comme ça : t_exception(#id, date, idEvt)
Ensuite pour extraire tes données une simple sous-requête sur les dates exceptionnelles devrait suffire.
Tu listes tous les évènements pour une date donnée sauf ceux qui ont un id dans la table des dates exceptionnelles filtrée sur le même jour.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2011, 15h20   #3
Membre régulier
 
Inscription : janvier 2011
Messages : 283
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 283
Points : 96
Points : 96
Tu as pas d'erreur si tu execute la requete car il me semble que != ne devrait pas fonctionner. Essaye <> à la place !=
xouzi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2011, 15h53   #4
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Merci pour vos réponses.

Citation:
Envoyé par xouzi Voir le message
Tu as pas d'erreur si tu execute la requete car il me semble que != ne devrait pas fonctionner. Essaye <> à la place !=
J'avais aussi essayé avec <> mais dans les 2 cas ça ne fonctionne pas.

Merci rawsrc, je vais essayer ta méthode.

Aurélien
__________________
Salutations à tous les amis du forum Développez

http://www.dusk.fr
AurelienNF 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 08h07.


 
 
 
 
Partenaires

Hébergement Web