elrick Posté 1 Juin 2006 Auteur Posté 1 Juin 2006 bonjour à tous, voila ce qu'il me retourne quand je debug avec ta methode spidetra : string(91) "SELECT * FROM coll_printer_commande WHERE print_date BETWEEN '2006-05-05' AND '2006-05-05'" resource(2) of type (mysql result) array(17) { ["id"]=> string(1) "1" ["print_date"]=> string(10) "2006-05-05" ["print_mark"]=> string(11) "HP Laserjet" ["print_modele"]=> string(17) "2200 Series PCL 6" ["print_type"]=> string(5) "Laser" ["noir"]=> string(6) "C4096A" ["nbr_noir"]=> string(1) "2" ["tarif_noir"]=> string(1) "0" ["cyan"]=> NULL ["nbr_cyan"]=> NULL ["tarif_cyan"]=> string(1) "0" ["magenta"]=> NULL ["nbr_magenta"]=> NULL ["tarif_magenta"]=> string(1) "0" ["jaune"]=> NULL ["nbr_jaune"]=> NULL ["tarif_jaune"]=> string(1) "0" } int(3) pour les parenthese c'est testé mais ca ne change rien.
robinsonvendredi Posté 1 Juin 2006 Posté 1 Juin 2006 Salut Elrick, Vérifie quelles sont les options de conversion de dates que tu as avec mysql Pour faire la même chose, avec SQL server, j'utilise en effet la conversion des chaînes jj, mm, aa vers le format timestamp SELECT * FROM Orders WHERE (CONVERT(smalldatetime,Ordertimestamp,101) >= CONVERT(smalldatetime,@order1,101) AND CONVERT(smalldatetime,Ordertimestamp,101) <= CONVERT(smalldatetime,@order2,101)) Chez moi l'option 101 est un format US, 102 ANSI, 103 français : jj/mm/aa Au passage, bon courage pour l'indexation consommables / imprimante....
Spidetra Posté 1 Juin 2006 Posté 1 Juin 2006 tout a l'air ok au niveau de la requête et de ce qui est retourné. Le pb est plus bas. - variable mal othographié ? - pb dans la boucle ? - autres...
Jeromnimo Posté 1 Juin 2006 Posté 1 Juin 2006 (modifié) Essaie en remplaçant dans ton affichage les variables $row_Recordset['xxxx'] par $row_Recordset["xxxx"] ? (simple quote remplacés par des doubles quote, j'y crois pas trop mais bon...) Modifié 1 Juin 2006 par Jeromnimo
elrick Posté 1 Juin 2006 Auteur Posté 1 Juin 2006 La réponse de robinsonvendredi m'a fait pensé qu'effectivement peut être la requete est juste et tous le code aussi mais que mon format date est pas bon donc j'ai fait un petit test j'ai modifié mon champ print_date en bigint et j'ai laissé les années 2005 et 2006 uniquement. et quand j'ai testé et bien HO MIRACLE ca passe j'ai pu trié sur 2005 sur 2006 et de 2005 à 2006 tout c'est bien passé !!! Donc sois c'est dans ma requete qu'il comprend pas que c'est un format date sois c la bdd qui est pas bien faite sur se champs. et je suis désolé robinsonvendredi mais je comprend pas bien ce que je dois faire avec les converts en fait si je te donne mon code tu peut me le modifier ? Merci
robinsonvendredi Posté 1 Juin 2006 Posté 1 Juin 2006 si je te donne mon code tu peut me le modifier ? Non désolé. En fait l'idée c'est de faire un split de chaque date en récupèrant 'jj' , 'mm', et 'aaaa' séparément en format string. C'est facile à faire, quelque soit l'encodage de ta page, la version française ou dans une autre langue de ton site, ou les variables locales de ton serveur. Ensuite tu les passes en variable dans ta requête SQL en convertissant la chaîne 'aaaa' 'mm' 'jj' selon la collation de ton serveur SQL. Vois la doc Mysql sur la conversion des formats de dates.
Jeromnimo Posté 1 Juin 2006 Posté 1 Juin 2006 C'est etrange parce que dans le resultat de la requete que tu as mis suite à la demande de Spidetra, il y a bien un resultat exploitable... Par contre c'est voulu que la date de début soit égale à la date de fin ou c'est une faute d'inatention ? Si c'est pas voulu, tu peux refaire l'essai avec deux dates différentes, pour verifier que tu as un resultat ? Pour la documentation de mysql sur les dates c'est ici : http://dev.mysql.com/doc/refman/4.1/en/data-types.html
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant