Faire un filtre dans un tervale d'une date

Fermé
zed23000 Messages postés 23 Date d'inscription lundi 13 avril 2015 Statut Membre Dernière intervention 9 mars 2017 - 15 avril 2015 à 10:19
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 15 avril 2015 à 12:14
Bonjour,
je suis tout debutant en php .. merci a vous de me repondre svp
mon problem :
je fait un formulaire pour la saisie et l'affectation des personne la tt va bien tt marche a la perfection
le truc que je veut faire un filtre et un controle pour eviter de saisir des personne qui on eté deja saisi dans intervale d'une date precis
par exemple
nom : jean
prenom : claude
date_debut : 20-04-2015
date_fin: 20-05-2015
si on va saisir la meme personne comme ceci :
date_debut : 01-05-2015
date_fin : 30-05-2015
il faut qu'il passeras pas
mais si fasse comme ceci avec la meme personne
date_debut : 22-05-2015
date_fin : 30-05-2015
ça passe
merciii
ps : je sais que vous allez dire pq pas mettre la date complete des le debut ..... par ce que ya des personne qui travailler dans 2 endroit different et on veut que ça seras ds les meme periode
mercii bcp

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
15 avril 2015 à 10:41
Bonjour,

Déjà... je suppose que ces données sont stockées dans un BDD ......
Ensuite... tu as bien entendu stocké tes dates au format DATE (ou DATETIME ou TIMESTAMP) (c'est à dire : YYYY-mm-dd ou yyyymmdd )et surtout pas sous la forme dd-mm-yyy .....
Et enfin.... pour faire ta requête SQL .. il suffit que tu regardes dans ta BDD si un enregistrement avec le même nom n'existe pas déjà....

et enfin.. tu regardes si ta "nouvelle" date de début se trouve entre les datedebut/datefin déjà renseignés.
SELECT *
FROM taTable
WHERE champDateDebut < '$dateDeb' 
  AND  champDateFin > '$dateDeb'

Si cette requête retourne des résultats... c'est que l'utilisateur existe déjà.


PS: Si tu postes du code sur le forum, pense à utiliser la coloration syntaxique
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code


1
zed23000 Messages postés 23 Date d'inscription lundi 13 avril 2015 Statut Membre Dernière intervention 9 mars 2017
15 avril 2015 à 10:53
mercii bcp Mr pour cet reponse tres explicatif
effectivement j'ai une bdd la ou les info sont stocker et comme tu ma expliquer surement y'auras un premier filtre sur le nom et prenom je vais esseyer la methode que vous m'avez donner et je vous poste le code merci
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > zed23000 Messages postés 23 Date d'inscription lundi 13 avril 2015 Statut Membre Dernière intervention 9 mars 2017
15 avril 2015 à 12:14
Tu peux tester le user en même temps...
SELECT *
FROM taTable
WHERE champUser = '$user'
  AND champDateDebut < '$dateDeb' 
  AND  champDateFin > '$dateDeb'
0