nagrom_om
Messages postés163Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention 1 novembre 2006
-
20 juil. 2005 à 15:30
nagrom_om
Messages postés163Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention 1 novembre 2006
-
20 juil. 2005 à 17:34
j'ai une table "conges" dans laquelle des congés sont déposés. J'ai fait un module de listing en fonction de certains criteres. Pour l'instant mes criteres sont juste : congé accepté, non accepté, non consulté qui dépendent d'un champ de ma base.
Maintenant j'aimerai rajouter comme critere une date minimum pour la recherche.
J'aimerai donc comparer une date saisie (au moyen de deux selectBox MoisDeb et AnneeDeb) au champs "date_depart" de ma base qui est un timestampz.
Pour l'instant j'ai ca :
$timestamp_date = mktime(0, 0, 0, $moisDeb, 0, $anneeDeb);
$dateRecherche = date('Y-m',$timestamp_date);
if ($radioCriteres=="Tous")
{
//Pour tout rechercher
$QuerySearch = "SELECT *
FROM conges
WHERE (numero_util = ". $Utilisateur."
AND date_depart > ".$dateRecherche.");"; /*voila moi je le voyai comme ca mais comment tronquer date_depart ??? ou encore mieu transformer date_depart directement en timestamp ??*/
}
else if ($radioCriteres=="Accept")
{
//Pour rechercher que ceux qui ont été validés
$QuerySearch = "SELECT *
FROM conges
WHERE numero_util = ". $Utilisateur." AND (accept_responsable 't' AND accept_direction 't');";
}
else if ($radioCriteres=="Nonaccept")
{
//Pour rechercher que ceux qui n'ont pas été validés
$QuerySearch = "SELECT *
FROM conges
WHERE numero_util =". $Utilisateur." AND (accept_responsable 'f' OR accept_direction 'f');";
}
else if ($radioCriteres=="Nonconsult")
{
//Pour rechercher que ceux qui n'ont pas été validés
$QuerySearch = "SELECT *
FROM conges
WHERE numero_util =". $Utilisateur." AND (accept_responsable 'nc' OR accept_direction 'nc');";
}
else
{
//Pour tout rechercher
$QuerySearch = "SELECT *
FROM conges
WHERE numero_util = ". $Utilisateur;
}
$ptr->query($QuerySearch) ;
quand je fais un echo de ce que me retourne ma base il me renvoi un truc du genre 2005-08-03 00:00:00+02
Je suis capable du pire comme du meilleur, mais dans le pire c'est moi le meilleur !!!
nagrom_om
Messages postés163Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention 1 novembre 2006 20 juil. 2005 à 16:12
Oups pardon pour le Bonjour !!!!
Bonjour donc.
Le jour ce n'est pas bien grave pasque du coup j aurais le timestamp du premier jour du mois donc inferieur a n'importe quelle date du mois. je ne cherche pas a etre plus precis pour la recherche.
en fait je cherche a savoir si y'a moyen que je fasse un exlpode de date_depart (le champs de ma table) et de le comparer a $dateRecherche.
Merci
Je suis capable du pire comme du meilleur, mais dans le pire c'est moi le meilleur !!!
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 20 juil. 2005 à 16:15
Il faut juste que tu transformes une des deux dates pour que les deux
soient au meme format. De preference de php vers mysql, comme ca tu
peux comparer dans ta requete facilement.
if ($radioCriteres=="Tous")
{
//Pour tout rechercher
$QuerySearch = "SELECT *
FROM conges
WHERE (numero_util = ". $Utilisateur."
AND date_depart > ".$dateRecherche.");";
}
else if ($radioCriteres=="Accept")
{
//Pour rechercher que ceux qui ont été validés
$QuerySearch = "SELECT *
FROM conges
WHERE numero_util = ". $Utilisateur." AND (accept_responsable 't' AND accept_direction 't')
AND date_depart > ".$dateRecherche;
}
else if ($radioCriteres=="Nonaccept")
{
//Pour rechercher que ceux qui n'ont pas été validés
$QuerySearch = "SELECT *
FROM conges
WHERE numero_util =". $Utilisateur." AND (accept_responsable 'f' OR accept_direction 'f')
AND date_depart > ".$dateRecherche;
}
else if ($radioCriteres=="Nonconsult")
{
//Pour rechercher que ceux qui n'ont pas été validés
$QuerySearch = "SELECT *
FROM conges
WHERE numero_util =". $Utilisateur." AND (accept_responsable 'nc' OR accept_direction 'nc')
AND date_depart > ".$dateRecherche;
}
else
{
//Pour tout rechercher
$QuerySearch = "SELECT *
FROM conges
WHERE (numero_util = ". $Utilisateur."
AND date_depart > ".$dateRecherche.");";
}
$ptr->query($QuerySearch) ;
et j obtient une erreur : Invalid SQL: SELECT * FROM conges WHERE numero_util =1 AND (accept_responsable = 'f' OR accept_direction = 'f') AND date_depart > 2007-01-01 00:00:00+02
la dateRecherche est correctement créée elle a le bon format
Je suis capable du pire comme du meilleur, mais dans le pire c'est moi le meilleur !!!