Date SQl

Résolu/Fermé
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 - 3 nov. 2010 à 10:57
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 - 4 nov. 2010 à 16:34
Bonjour, j'aurais besoin de comparer 2 dates dans une requête sql :
j'ai fait ceci:
$datedebmois=$annee."-".$mois."-00";
$datefinmois=$annee."-".$mois."-32";
$rqtCmd="Select * from bon_commande b where b.etat='Confirmer' AND b.date>".$datedebmois." AND b.date<".$datefinmois." order by b.date";

Dans ma bdd mes dates sont bien au formats annee-mois-jour
Cette requete ne me met aucun code erreur mais elle ne m'affiche pas les commandes du mois, et pourtant il y en a bien
Merci de votre aide



6 réponses

widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
3 nov. 2010 à 16:42
personne?
0
J'ai des doutes sur le bon comportement avec des dates qui ne peuvent exister :|
L'ideal serait de voir le SQL généré et vérifier qu'il donne bien des résultats avec un client MySQL.

$datedebmois=$annee."-".$mois."-01";
$rqtCmd="
Select * from bon_commande b
where
b.etat='Confirmer'
AND b.date >= ".$datedebmois."
AND b.date < ".$datedebmois." + INTERVAL 1 MONTH
order by b.date";
0
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
4 nov. 2010 à 09:10
Bonjour et merci de ton aide mais ça ne fonctionne pas.
J'aimerais simplement sélectionner dans ma bdd toute les commandes qui ont etat=Confirmer et qui ont été créer dans le mois et l'année en cours....
Par exemple pour ce mois ci, toutes les commandes de novembre 2010.

En sachant que dans ma base de donnée les dates sont au format annee-mois-jour

Merci de votre aide
0
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
4 nov. 2010 à 09:26
J'ai reussi à procéder autrement en prenant mes numéro de bon de commande étant formé comme ceci :
anneemoisjournumero

avec le code
$datedebmois=$annee."".$mois."0000";
$datefinmois=$annee."".$mois."9999";
$rqtCmd="
Select * from bon_commande b
where
b.etat='Confirmer'
AND b.numBon >= ".$datedebmois."
AND b.numBon <".$datefinmois."
order by b.numBon";

Et la tout fonctionne
je suppose qu'il n'aime pas trop les -
enfin merci de votre aide
A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Je viens de comprendre ... PAN ..
$datedebmois="'".$annee."-".$mois."-01'";
$rqtCmd="
Select * from bon_commande b
where
b.etat='Confirmer'
AND b.date >= ".$datedebmois."
AND b.date < ".$datedebmois." + INTERVAL 1 MONTH
order by b.date";

En effet, les "-" en dehors de chaine sont des vrais "moins" et non des separateurs de date ...
0
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
4 nov. 2010 à 16:34
ok merci, je ferai autrement et j'y penserai pour le prochain site....
Bonne journée
0