{MySQL} Un SELECT qui marche pas

Résolu
fast518 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
fast518 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Voilà je veux récupérer tous les attributs qui ont une date de fin ultérieure à celle d'aujourd'hui :
<?
$today = date('Y\-m\-d');
list($jour, $mois, $annee) = explode('-', $today);

$sql = "SELECT * FROM ma_table
WHERE DAY(Datefin) >= '$jour'
OR MONTH(Datefin) > '$mois'
OR YEAR(Datefin) > '$annee'";
?>

De cette façon les résultats ne sont pas convaincants :D

J'ai eu une autre idée que je n ai pas pu mettre en œuvre qui est la suivante :
<?
$today = date('Ymd');
et récupérer la date depuis la base de données et la mettre dans le même format à savoir aaaammjj et la comparer à $today comme étant des int.

Merci d'avance pour votre aide !

1 réponse

moderno31 Messages postés 872 Date d'inscription   Statut Membre Dernière intervention   92
 
Hello
La philosophie de ta requete est bonne. Par contre pour tu n'utilises pas date("d/m/Y") ?
Il suffirait de passer cette variable $today = date("d/m/Y") à ta requete SQL de la forme where date = '$today'...
Je ne vois pas l'utilité de "list" et de "explode".
Sinon si en base tu veux découper parce que les composants de date sont séparés (JJ, MM, AAAA) je ferai un substr pour $Jour = substr($today ,0,2); par ex...
0
fast518 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
Oui tu as raison, ca marche mieux avec le sub string !! Merci beaucoup moderno.
0