{MySQL} Un SELECT qui marche pas

Résolu
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 !
Configuration: Debian 5.01
Firefox 3.5

1 réponse

  1. 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...
    1. Oui tu as raison, ca marche mieux avec le sub string !! Merci beaucoup moderno.