Probleme SQL et Date

fanette
Invité n'ayant pas de compte PHPfrance

06 janv. 2007, 19:40

Bonjour

J'ai une requete est impossible de lui faire afficher les resultat a partir de la date d'aujourdui

J'ai pourtant fait ce que je pense etre bon mais il y a qlq chose qui marche pas
$mois=date("m"); 
$jour=date("d"); 
$annee=date("Y");

$db=@mysql_query("SELECT * FROM agenda WHERE  yeardebut >= $annee-$mois-jour ORDER BY yeardebut ASC");
Merci de votre soutien

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

06 janv. 2007, 19:46

Quel message d'erreur obtiens-tu ?

ViPHP
ViPHP | 1961 Messages

06 janv. 2007, 19:47

Bonjour,
Une date en MySQL est considérée comme une chaine de caractères.

Si tu regardes bien ce que tu fais :

Tu as dans $annee ==> 2007
Dans $mois ==> 1
Dans $jour ==> 6

Ensuite tu demandes $annee - $mois - $jour (uene soustraction de ces trois valeurs) ça te donnerait 2007-1-6 = 2000.

Tu penses que MySQL comprend ça comme une date ???
D'un autre coté, le format de MySQL est :
YYYY (année sur 4 chiffres)
mm (mois ur deux chiffres)
jj (jour sur deux chiffres)

Si on reprend la date précédente tu as :
2007 (ok)
1 ==> sur un chifrre, il devrait être sur 2
et idem pour le jour.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

ViPHP
ViPHP | 1961 Messages

06 janv. 2007, 19:49

@Albat,
Peux-tu arreter de me devancer :?: :?: :?:
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

ViPHP
fab
ViPHP | 2657 Messages

06 janv. 2007, 20:30

Au passage pour obtenir ton $annee-$mois-jour
$mois=date("m");  // affichera 01
$jour=date("d");  // affichera 06
$annee=date("Y"); // affichera 2007

$date = $annee.'-'.$mois.'-'.$jour; // affichera 2007-01-06

// mais :

$date2 = date("Y-m-d"); // affichera aussi 2007-01-06
Modifié en dernier par fab le 06 janv. 2007, 20:41, modifié 1 fois.
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

ViPHP
ViPHP | 1961 Messages

06 janv. 2007, 20:36

Re,

Une petite erreur de frappe dans cette ligne
$date = $annee.'-'.$mois.'-'.'$jour; // affichera 2007-01-06 
Une apostrophe en trop devant $jour
$date = $annee.'-'.$mois.'-'. $jour; // affichera 2007-01-06 
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

ViPHP
fab
ViPHP | 2657 Messages

06 janv. 2007, 20:41

Corrigé :)
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

06 janv. 2007, 21:13

NB : Par ma question, je voulais surtout inviter fanette à retirer le @ qui préfixe ses appels de fonction. :!:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

07 janv. 2007, 04:44

A lire et appliquer :)

Quelqu'un à entendu parler de "NOW()" pour MySQL (y a plus qu'à) :P

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute