Requête SQL, récupérer données en fonction d'un champs date
Résolu/Fermé
CorentinRoche
Messages postés
271
Date d'inscription
mercredi 1 juin 2016
Statut
Membre
Dernière intervention
12 juin 2023
-
Modifié le 1 avril 2022 à 22:12
CorentinRoche Messages postés 271 Date d'inscription mercredi 1 juin 2016 Statut Membre Dernière intervention 12 juin 2023 - 2 avril 2022 à 20:40
CorentinRoche Messages postés 271 Date d'inscription mercredi 1 juin 2016 Statut Membre Dernière intervention 12 juin 2023 - 2 avril 2022 à 20:40
A voir également:
- Requête SQL, récupérer données en fonction d'un champs date
- Fonction si et - Guide
- Comment recuperer un message supprimé sur whatsapp - Guide
- Recuperer video youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
- Impossible de récupérer mon compte gmail - Guide
2 réponses
blux
Messages postés
26473
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
15 novembre 2024
3 316
Modifié le 1 avril 2022 à 22:25
Modifié le 1 avril 2022 à 22:25
Salut,
quel SGBD ? Qu'est-ce qui coince ?
Parce qu'on peut avoir plein de solutions, si ton champ est de type date, tu peux tester where mois(dat_e) = "04" and annee(dat_e) = "2022".
On peut aussi construire une regex...
quel SGBD ? Qu'est-ce qui coince ?
Parce qu'on peut avoir plein de solutions, si ton champ est de type date, tu peux tester where mois(dat_e) = "04" and annee(dat_e) = "2022".
On peut aussi construire une regex...
jordane45
Messages postés
38288
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 novembre 2024
4 703
Modifié le 1 avril 2022 à 23:03
Modifié le 1 avril 2022 à 23:03
Bonjour,
Il faudrait nous indiquer quel moteur de bdd tu utilises ... mais si tu as une date au format "français" .. c'est soit ACCESS ... soit que tu n'as pas utilisé le bon "type" pour ta colonne de date...
Sur la plupart des BDD.. un champ "date" .. est au format YYYY-mm-dd ou en timestamp
Et donc, si ton champ est bien de type date ( ce qui ne semble pas être le cas actuellement.. puisqu'il semblerait que tu sois en mysql et que ta capture écran soit faite sur phpmyadmin ), les SGBD ont en général des fonctions de manipulation de dates ...
Par exemple, en SQL, tu as les fonctions MONTH() ou YEAR() ... voir même DATE_FORMAT ...
Donc modifie le "type" pour ta colonne DATE ...
Ensuite tu pourras faire un truc du genre
ou encore
Il faudrait nous indiquer quel moteur de bdd tu utilises ... mais si tu as une date au format "français" .. c'est soit ACCESS ... soit que tu n'as pas utilisé le bon "type" pour ta colonne de date...
Sur la plupart des BDD.. un champ "date" .. est au format YYYY-mm-dd ou en timestamp
Et donc, si ton champ est bien de type date ( ce qui ne semble pas être le cas actuellement.. puisqu'il semblerait que tu sois en mysql et que ta capture écran soit faite sur phpmyadmin ), les SGBD ont en général des fonctions de manipulation de dates ...
Par exemple, en SQL, tu as les fonctions MONTH() ou YEAR() ... voir même DATE_FORMAT ...
Donc modifie le "type" pour ta colonne DATE ...
Ensuite tu pourras faire un truc du genre
WHERE YEAR(date_e) = 2022 AND MONTH(date_e) = 4
ou encore
WHERE DATE_FORMAT(date_e,'%Y-%m') = '2022-04'
blux
Messages postés
26473
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
15 novembre 2024
3 316
1 avril 2022 à 23:06
1 avril 2022 à 23:06
J'ai peur que ce soit un simple champ texte, le jour n'est pas complet, il est sur 1 seul car pour le 1er du mois...
jordane45
Messages postés
38288
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 novembre 2024
4 703
>
blux
Messages postés
26473
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
15 novembre 2024
1 avril 2022 à 23:09
1 avril 2022 à 23:09
Faut pas en avoir peur .. c'est même sûr .... (et il est sur mysql.. c'est certain )
En plus, ça fait plusieurs fois qu'il pose des questions de requêtes sql .. dans le forum PHP .. alors que je lui ai déjà expliqué qu'il fallait les poster dans le forum BASE DE DONNEES
En plus, ça fait plusieurs fois qu'il pose des questions de requêtes sql .. dans le forum PHP .. alors que je lui ai déjà expliqué qu'il fallait les poster dans le forum BASE DE DONNEES
CorentinRoche
Messages postés
271
Date d'inscription
mercredi 1 juin 2016
Statut
Membre
Dernière intervention
12 juin 2023
39
Modifié le 2 avril 2022 à 20:42
Modifié le 2 avril 2022 à 20:42
Bonjour,
Merci des retours.
Je vais prendre les choses dans l'ordre :
Le site tourne sur MySQL. connexion en PDO.
Pour ce qui est de ma colonne dat_e. Effectivement elle n'est pas en format "date".
A l'époque ou j'avais fait ça j'envoyer la variable $date_de_creation.
Je vais donc changer le type de la colonne par un format date. Puis passer ma variable en :
Si j'ai compris l'ordre. Ma base de données ne devrais pas me la refuser.
Derrière je pourrais donc les gérer plus facilement avec les deux requêtes :
ou
Et par la suite modifier pour ajouter mes variables. Car c'est requête peuvent changer en fonction de la demande de l'user.
Pour ce qui est du "ça fait plusieurs fois qu'il pose des questions de requêtes sql".
Désoler de poser des questions trop souvent dans le mauvais forum ........... Mon dernier poste date de janvier 2020. Sur le quel effectivement tu me le rappel ! Je ferais donc attention lors de mon prochain post en 2024/25.
Amicalement, ;)
Merci de vos réponse.
Cordialement,
Corentin
Merci des retours.
Je vais prendre les choses dans l'ordre :
Le site tourne sur MySQL. connexion en PDO.
Pour ce qui est de ma colonne dat_e. Effectivement elle n'est pas en format "date".
A l'époque ou j'avais fait ça j'envoyer la variable $date_de_creation.
$date_de_creation = date('j-m-Y');.
Je vais donc changer le type de la colonne par un format date. Puis passer ma variable en :
$date_de_creation = date('Y-m-j');.
Si j'ai compris l'ordre. Ma base de données ne devrais pas me la refuser.
Derrière je pourrais donc les gérer plus facilement avec les deux requêtes :
WHERE YEAR(date_e) = 2022 AND MONTH(date_e) = 4
ou
WHERE DATE_FORMAT(date_e,'%Y-%m') = '2022-04'
Et par la suite modifier pour ajouter mes variables. Car c'est requête peuvent changer en fonction de la demande de l'user.
$sql = 'WHERE YEAR(date_e) = '. $year .' AND MONTH(date_e) = '. $mouth .'' ;
Pour ce qui est du "ça fait plusieurs fois qu'il pose des questions de requêtes sql".
Désoler de poser des questions trop souvent dans le mauvais forum ........... Mon dernier poste date de janvier 2020. Sur le quel effectivement tu me le rappel ! Je ferais donc attention lors de mon prochain post en 2024/25.
Amicalement, ;)
Merci de vos réponse.
Cordialement,
Corentin