PDO - sélectionner période entre 2 dates et l'afficher
Fermé
YameFAZE
Messages postés
201
Date d'inscription
mardi 24 avril 2012
Statut
Membre
Dernière intervention
14 mars 2021
-
27 mars 2019 à 19:12
YameFAZE Messages postés 201 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021 - 28 mars 2019 à 09:18
YameFAZE Messages postés 201 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021 - 28 mars 2019 à 09:18
A voir également:
- PDO - sélectionner période entre 2 dates et l'afficher
- Afficher mot de passe wifi android - Guide
- 2 ecran pc - Guide
- Sélectionner texte pdf - Guide
- Word numéro de page 1/2 - Guide
- Afficher taille dossier windows - Guide
3 réponses
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
27 mars 2019 à 21:09
27 mars 2019 à 21:09
Bonjour,
Pour commencer, applique ce qui est indiqué ici : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Ensuite.. tu parles de vouloir faire des recherche par période...
Tu peux donc utiliser, dans ta requête SQL un WHERE ... et même un BETWEEN
Par contre, j'ose espérer que tes champs de dates... sont bien au format DATE, DATETIME ou TIMESTAMP
et pas au format varchar...
Autrement dit, une date, dans une BDD, ça se stocke sous la forme ANNEE-MOIS-JOUR .... et surtout pas JOUR/MOIS/ANNEE
Sans quoi... les requêtes sur ce genre de champ deviennent du bidouillage.
Pour commencer, applique ce qui est indiqué ici : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Ensuite.. tu parles de vouloir faire des recherche par période...
Tu peux donc utiliser, dans ta requête SQL un WHERE ... et même un BETWEEN
Par contre, j'ose espérer que tes champs de dates... sont bien au format DATE, DATETIME ou TIMESTAMP
et pas au format varchar...
Autrement dit, une date, dans une BDD, ça se stocke sous la forme ANNEE-MOIS-JOUR .... et surtout pas JOUR/MOIS/ANNEE
Sans quoi... les requêtes sur ce genre de champ deviennent du bidouillage.
YameFAZE
Messages postés
201
Date d'inscription
mardi 24 avril 2012
Statut
Membre
Dernière intervention
14 mars 2021
27 mars 2019 à 23:13
27 mars 2019 à 23:13
Oui je connais WHERE et BETWEEN mais justement je ne sais pas comment les utiliser dans mon cas. Sinon oui mes champs sont bien au format DATE. J'aimerais juste que l'on m'explique comment faire pour interroger la BDD et afficher toutes les périodes où la moto n'est pas louée.
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
28 mars 2019 à 08:36
28 mars 2019 à 08:36
Toutes les périodes non louées ?
Vu qu'en base tu semble ne stocker que les périodes où il y a des locations... il sera compliqué de le faire via une requête.
La solution est de boucler, en php, sur toutes les dates de la période voulue ( par exemple du 1 mai au 31 Aout ... ) puis de vérifier si cette date se trouve dans une des périodes de ton array ( array que tu as déjà vu ton code actuel en modifiant simplement le )
par un fetchAll
Vu qu'en base tu semble ne stocker que les périodes où il y a des locations... il sera compliqué de le faire via une requête.
La solution est de boucler, en php, sur toutes les dates de la période voulue ( par exemple du 1 mai au 31 Aout ... ) puis de vérifier si cette date se trouve dans une des périodes de ton array ( array que tu as déjà vu ton code actuel en modifiant simplement le )
while($donnees = $requete_indispos -> fetch()) {
par un fetchAll
$arrayLocations = $requete_indispos -> fetchAll();
YameFAZE
Messages postés
201
Date d'inscription
mardi 24 avril 2012
Statut
Membre
Dernière intervention
14 mars 2021
28 mars 2019 à 09:18
28 mars 2019 à 09:18
Donc il n'y a pas une méthode qui permettrait de comparer toutes les dates existantes à celles présentes dans la BDD ? Ou alors il faudrait que je fasse un calendrier mensuel affiché sur la page qui interroge la BDD et qui indiquerait les jours non disponibles par exemple... va falloir que je me creuse la tête pour savoir comment faire ça...