Problème sql et dates

Eléphant du PHP | 216 Messages

01 juil. 2006, 14:56

Bonjour, et bon week end à tous,
Je viens encore une foie solliciter votre aide!
cela va faire deux jours que je me casse la tête sur un problème:

Voila ce qui ce passe j'ai une table dates qui contient un champ id et un champ date, j’utilise la fonction de php permettant d'afficher la date du jour et je la convertie au format sql puis je la rentre en variable:
$dates = date("Y-m-d");
echo "$dates";
Ce que je cherche à faire un requête qui compare les résultat de la bdd avec le jour que nous somme puis qui affiche les dates qui ne sont pas encore passées:

exemple la base contient 1785-12-01
et 2007-12-01
la requête ne devra afficher que 2007-12-01

Seul problème je n'arrive pas à le faire si quelqu'un avait la bonté de me mettre sur la voie ou de me donner la ligne de code sql correspondante, ce serait sympa
merci d’avance, bonne journée :wink:
Le PHP c'est bien, surtout quand ça marche ;) mon site
Hébergement gratuit et sans pub => Image

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

01 juil. 2006, 15:22

Et en deux jours tu n'as pas eu la curiosité d'essayer une condition du genre WHERE dateA > dateB dans ta requête ? :wink:

Eléphant du PHP | 216 Messages

01 juil. 2006, 15:38

Merci pour ta réponse rapide si j'ai essayé mais cela ne marche pas:
j'ai toute ces dates dans la bdd:
2007-12-01

2006-07-01

1976-12-25

1985-12-24

ce que cela devrait m'afficher avec ta méthode serait:
2007-12-01

mais en fait il m'affiche cela:
2006-07-01

1976-12-25

1985-12-24

2007-12-01

donc voici mon code il doit sûrement y avoir une erreur:
$date2 = date("Y-m-d");
echo "$date2";
@mysql_connect($host, $login, $pass) or die("Impossible de se connecter à la base de données");
// Le @ indique à php de ne pas afficher de message d'erreur
@mysql_select_db($base) or die("Impossible de se connecter à la base de données");

echo "<br/>";
$sql = mysql_query("SELECT * FROM dates where date>$date2");
while ($donnees = mysql_fetch_array($sql) )
{
echo "<br/>";
echo $donnees['date'];
echo "<br/>";
}
mysql_close(); // Déconnexion de MySQL
?>
En tout cas merci d'avoir répondu si vite :D
Le PHP c'est bien, surtout quand ça marche ;) mon site
Hébergement gratuit et sans pub => Image

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

01 juil. 2006, 15:42

Et qu'est ce qu'on met dans une requête sql autour d'une chaine de caractères ?! ;)

Eléphant du PHP | 216 Messages

01 juil. 2006, 15:55

Ce ne serait pas des ' ' par hasard :oops:
désolé je ne suis pas bien réveillé aujourd'hui (et les deux jour passé non plus ^^), c'est bon tout marche!

voici le code corrigé:
$date2 = date("Y-m-d");
echo "$date2";
@mysql_connect($host, $login, $pass) or die("Impossible de se connecter à la base de données");
// Le @ indique à php de ne pas afficher de message d'erreur
@mysql_select_db($base) or die("Impossible de se connecter à la base de données");

echo "<br/>";
$sql = mysql_query("SELECT * FROM dates where date>'$date2'");
while ($donnees = mysql_fetch_array($sql) )
{
echo "<br/>";
echo $donnees['date'];
echo "<br/>";
}
mysql_close(); // Déconnexion de MySQL
?>
En tout cas merci pour tes réponses rapides! :D
Le PHP c'est bien, surtout quand ça marche ;) mon site
Hébergement gratuit et sans pub => Image