Requete SQL : Comparer date sql à un DateTime PHP
Résolu/Fermé
sluggy10
Messages postés
20
Date d'inscription
lundi 25 août 2014
Statut
Membre
Dernière intervention
28 octobre 2014
-
27 août 2014 à 10:09
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 - 27 août 2014 à 12:05
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 - 27 août 2014 à 12:05
A voir également:
- Comparer 2 dates php
- Erreur lors de l'envoi de la requête facebook marketplace - Forum Facebook
- Il y a eu un problème avec cette requête. nous travaillons à sa résolution aussi vite que nous le pouvons. - Forum Facebook
- Logiciel sql - Télécharger - Bases de données
- Sql server recovery - Télécharger - Gestion de données
- Requête sql doublons sur 2 champs ✓ - Forum Programmation
14 réponses
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
27 août 2014 à 10:27
27 août 2014 à 10:27
ça affiche quoi ça ? Ca t'affiches bien ta date ?
var_dump($newDate->format('Y-m-d'));
sluggy10
Messages postés
20
Date d'inscription
lundi 25 août 2014
Statut
Membre
Dernière intervention
28 octobre 2014
27 août 2014 à 10:29
27 août 2014 à 10:29
Yep ca m'affiche la bonne date en effet
string '2014-10-01'
La date que j'essaie de tester donc.
Sauf que ca n'affiche rien alors que c'est bien plus petit que 2099-12-31
Et c'est la que je bloque.
string '2014-10-01'
La date que j'essaie de tester donc.
Sauf que ca n'affiche rien alors que c'est bien plus petit que 2099-12-31
Et c'est la que je bloque.
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
27 août 2014 à 11:08
27 août 2014 à 11:08
Ok, donc ton problème vient de ta query SQL alors.
As-tu essayé de valider sa syntaxe en testant via PhPMyAdmin la requête afin de débuguer au fur et a mesure ?
Avec les infos que tu donnes, on peux suppoer que ta query est :
As-tu essayé de valider sa syntaxe en testant via PhPMyAdmin la requête afin de débuguer au fur et a mesure ?
Avec les infos que tu donnes, on peux suppoer que ta query est :
Essayes avec ça dans PhPMyAdmin et tu vas voir. Déjà, moi perso j'encadre toujours les dates avec des double quote :
SELECT *
FROM z_users, tbsystem
WHERE USER_EQUIPE=TBS_VALUE
AND TBS_NOMTABLE="EQUIPE"
AND USER_DEPART>2014-10-01
ORDER BY z_users.USER_EQUIPE
SELECT *
FROM z_users, tbsystem
WHERE USER_EQUIPE=TBS_VALUE
AND TBS_NOMTABLE="EQUIPE"
AND USER_DEPART>"2014-10-01"
ORDER BY z_users.USER_EQUIPE
sluggy10
Messages postés
20
Date d'inscription
lundi 25 août 2014
Statut
Membre
Dernière intervention
28 octobre 2014
27 août 2014 à 11:13
27 août 2014 à 11:13
Ca affiche bien tout en effet dans phpmyadmin
bizarre
bizarre
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sluggy10
Messages postés
20
Date d'inscription
lundi 25 août 2014
Statut
Membre
Dernière intervention
28 octobre 2014
27 août 2014 à 11:17
27 août 2014 à 11:17
Parce que quand je teste en php
AND USER_DEPART>"2014-08-31"
Ca n'affiche rien.
Si ca continue je vais faire une SELECT * tout court, et trier après ce que j'affiche ou pas..
Je perdrais en mémoire cela dit...
AND USER_DEPART>"2014-08-31"
Ca n'affiche rien.
Si ca continue je vais faire une SELECT * tout court, et trier après ce que j'affiche ou pas..
Je perdrais en mémoire cela dit...
Fallentree
Messages postés
2309
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
22 juillet 2019
209
Modifié par Fallentree le 27/08/2014 à 11:24
Modifié par Fallentree le 27/08/2014 à 11:24
la formule de comparaison de date est particulière c est pas une comparaison classique ...
Il faut regarder http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html
c'est pas de type string ...
Il faut regarder http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html
c'est pas de type string ...
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
27 août 2014 à 11:30
27 août 2014 à 11:30
Et en PhP, quand tu fais juste un "SELECT * FROM z_users, tbsystem", ça te renvoi des résultats ?
Si oui, ajoute au fur et a mesure les conditions et tu verras ce qui merde.
Sinon c'est que t'as un problème avec ta config pour ta connexion mysql dans PHP.
Si oui, ajoute au fur et a mesure les conditions et tu verras ce qui merde.
Sinon c'est que t'as un problème avec ta config pour ta connexion mysql dans PHP.
sluggy10
Messages postés
20
Date d'inscription
lundi 25 août 2014
Statut
Membre
Dernière intervention
28 octobre 2014
27 août 2014 à 11:33
27 août 2014 à 11:33
Oui oui en php j'ai les résultats que je veux avec toutes mes conditions tant que je ne cherche pas à sélectionner par rapport aux données de USER_DEPART. C'est ce paramètre qui merde.
Fallentree
Messages postés
2309
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
22 juillet 2019
209
27 août 2014 à 11:39
27 août 2014 à 11:39
bonjour, t'es sur du type de la date ?
sluggy10
Messages postés
20
Date d'inscription
lundi 25 août 2014
Statut
Membre
Dernière intervention
28 octobre 2014
27 août 2014 à 11:42
27 août 2014 à 11:42
Sur sql ou php?
SQL j'ai créé un champ au format date
donc année-mois-jour
Mis à 2099-12-13 par défaut.
php j'ai fait un newDate comme écrit plus haut.
SQL j'ai créé un champ au format date
donc année-mois-jour
Mis à 2099-12-13 par défaut.
php j'ai fait un newDate comme écrit plus haut.
Fallentree
Messages postés
2309
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
22 juillet 2019
209
27 août 2014 à 11:48
27 août 2014 à 11:48
essaie ... where DATEDIFF(USER_DEPART,'.$result.')>0
sluggy10
Messages postés
20
Date d'inscription
lundi 25 août 2014
Statut
Membre
Dernière intervention
28 octobre 2014
27 août 2014 à 11:53
27 août 2014 à 11:53
Oo cette requete qui sort tout droit de l'enfer...
donc, (le $result est bien ma date php on est d'accord?) ca doit donner un truc du genre niveau syntaxe?
$reponse2 = $bdd -> query('SELECT *
FROM z_users, tbsystem
WHERE USER_EQUIPE=TBS_VALUE
AND TBS_NOMTABLE="EQUIPE"
AND DATEDIFF(USER_DEPART>'.$result.')>0
ORDER BY z_users.USER_EQUIPE');
donc, (le $result est bien ma date php on est d'accord?) ca doit donner un truc du genre niveau syntaxe?
$reponse2 = $bdd -> query('SELECT *
FROM z_users, tbsystem
WHERE USER_EQUIPE=TBS_VALUE
AND TBS_NOMTABLE="EQUIPE"
AND DATEDIFF(USER_DEPART>'.$result.')>0
ORDER BY z_users.USER_EQUIPE');
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
27 août 2014 à 11:53
27 août 2014 à 11:53
Et $bdd, tu l'instancies comment ?
Je me demande si tu ne pourrais pas avoir une conversion du format de date (comme ça peut se faire avec l'utilisation de mssql et selon la version de la librairie utilisée, j'ai déjà eule problème et il fallait inverser les jours et les mois...)
Quand tu n'as rien en retour as-tu essayé de voir si tu n'avais pas un message d'erreur en retour ?
Par exemple avec mysqli : https://www.php.net/manual/fr/mysqli.error.php
Je me demande si tu ne pourrais pas avoir une conversion du format de date (comme ça peut se faire avec l'utilisation de mssql et selon la version de la librairie utilisée, j'ai déjà eule problème et il fallait inverser les jours et les mois...)
Quand tu n'as rien en retour as-tu essayé de voir si tu n'avais pas un message d'erreur en retour ?
Par exemple avec mysqli : https://www.php.net/manual/fr/mysqli.error.php
Fallentree
Messages postés
2309
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
22 juillet 2019
209
27 août 2014 à 12:05
27 août 2014 à 12:05
$today = date("Y-m-d H:i:s"); ça revient a faire CURTIME()
essaie ... where DATEDIFF(USER_DEPART,CURTIME())>0
essaie ... where DATEDIFF(USER_DEPART,CURTIME())>0