Requete MYSQL avec date

  • Auteur de la discussion Auteur de la discussion sim100
  • Date de début Date de début
WRInaute passionné
Bonjour
Je fais cette requete:

Code:
$query_vendre="SELECT * FROM vendre WHERE ventevalid=1 and date_val > #2004-04-30# ORDER BY date_val DESC , heure_val DESC";
C'est le:
Code:
date_val > #2004-04-30#
qui pose probleme. Sans cette commande en plus ca marche, mais avec le
Code:
AND date_val > #2004-04-30#
ca marche pas :(

Quelqu'un voit-il pourquoi?
En fait je veux selectionner tout ce qu'il y a dans VENDRE, avec les arguments
Code:
ventevalide=1
et
Code:
date_val > #2004-04-30#
(toutes les dates superieures a 2004-04-30 dans le champs date_val)
Merci
 
WRInaute impliqué
Tu ne précises pas de quel type est ton champ "date_val", mais vu que je vois aussi un champ "heure_val", j'imagine que ce n'est pas un timestamp...

C'est dommage de ne pas utiliser le type timestamp puisqu'il a été fait pour ça (stocker des dates, quel que soit le format). Et en plus, ça permet d'utiliser des fonctions PHP comme strftime().

Si ce n'est pas trop de boulot, je te conseille très vivement de revoir la structure de ta base de données et d'utiliser le type timestamp pour tes dates et heures. Ta solution actuelle m'a l'air assez "goret" ;)
 
WRInaute passionné
S'il utilise un champ DATE ou DATETIME, il n'a pas besoin de changer pour TIMESTAMP.

Code:
$query_vendre = "SELECT * FROM vendre WHERE ventevalid = 1 AND date_val > '2004-04-30' ORDER BY date_val DESC, heure_val DESC";

Par contre, évite les SELECT *, fais plutôt SELECT champ1, champ2, etc., où champ1, champ2, etc. sont les champs que tu veux récupérer.

Fred
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut