Pti problème de date

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Pti problème de date

par coxine » 15 sept. 2007, 12:11

Merci !
Alors j'ai la version 4.3.1
La fonction NOW() retourne la date et l'heure, je n'ai besoin que de la date du jour :?
Je ne savais pas que je pouvais utiliser la fonction NOW() uniquement.
Effectivement mon champ est de type DATE.
Je crois que ça fonctionne, je fais quelques essais !!
Thank's :wink: :D

par Ryle » 15 sept. 2007, 09:43

Je pense qu'ici tu peux en fait très bien te passer de la fonction DATE(). Il est tout à fait possible d'utiliser NOW() pour récupérer la date et l'heure courrante et de la comparer à un champ qui est juste de type date et pas datetime... 'tout cas ça m'a jamais posé de problème :)

par Cyrano » 15 sept. 2007, 09:24

Comment contourner ça ?
Merci !
:wink:
Je dirais qu'il serait préférable de savoir quelle version est utilisée pour adapter la réponse.

par coxine » 15 sept. 2007, 09:21

Bonjour et merci !
Oups effectivement j'ai mal posté !

Je pense que c'est une question de version car le code fonctionnait jusqu'à l'ajout de DATE(NOW())
Je regarde la version de mon serveur.

Comment contourner ça ?
Merci !
:wink:

par Cyrano » 15 sept. 2007, 08:16

Bien vu Ryle, j'ai effectivement lu ça un peu vite... :-k

par Ryle » 15 sept. 2007, 00:45

Modération :
Sujet est déplacé dans le forum "SQL & Bases de données". :)


Par contre j'ai un doute sur la solution de Cyrano.. la fonction MONTH() retourne un nombre (à savoir le numéro du mois) et pas une date, il ne devrait donc pas y avoir besoin de l'encadrer d'apostrophes.... :?

Je regarderais plutôt du côté de la version de MySQL car la fonction DATE() n'est disponible que depuis la 4.1.1

par Cyrano » 14 sept. 2007, 22:37

Salut coxine,
je te signale que cette question aurait davatage eu sa place dans le forum "SQL".

Toutefois, tu as effectivement une erreur de syntaxe en envoyant une date sans l'encadrer d'apostrophes. Essaye avec ceci :
$query_session = "SELECT * ".
                 "FROM sessions, cours ".
                 "WHERE sessions.ID_cours=cours.ID_cours ".
                 "  AND sessions.date_debut >= DATE(NOW()) ".
                 "  AND MONTH(date_debut) = '". $mois ."' ".
                 "  AND YEAR(date_debut) >= YEAR(NOW()) ".
                 "ORDER BY date_debut, horaires ASC";

Pti problème de date

par coxine » 14 sept. 2007, 20:24

qui doit être liée à mon serveur de l'hébergeur.
J'ai développé un agenda, et tout fonctionne bien.
Je voudrais n'afficher que le jour date(NOW()) et les jours suivants du mois.
Vous m'aviez aidé à faire l'ébauche, j'ai rajouté un tri dans ma requête...mais là je veux en rajouter un autre et ça coince...
// premier code qui fonctionne

$query_session = "SELECT * FROM sessions, cours WHERE sessions.ID_cours=cours.ID_cours AND MONTH(date_debut) = $mois AND YEAR(date_debut) >= YEAR(NOW()) ORDER BY date_debut, horaires ASC ";

//second code qui ne fonctionne pas avec un message d'erreur
$query_session = "SELECT * FROM sessions, cours WHERE sessions.ID_cours=cours.ID_cours AND sessions.date_debut >= DATE(NOW()) AND MONTH(date_debut) = $mois AND YEAR(date_debut) >= YEAR(NOW())
ORDER BY date_debut, horaires ASC ";
Message d'erreur :
You have an error in your SQL syntax. Check the manual that corresponds to your
MySQL server version for the right syntax to use near '(NOW()) AND MONTH(date_debut) = 9 AND YEAR(date_debut) >= YEAR(...

En local, cela passe très bien mais pas en distant...
Y-a-t-il un moyen de contourner ?
Merci de vos réponses !
:D