8795 sujets

Développement web côté serveur, CMS

Bonjour à tous,
de part "muette" j'entend qui ne renvoi rien malgré qu'elle devrait (ça serait plus facile ...).

La requete :
$offre=mysql_query("SELECT codeOffre,ville,reduction,dateDeb,dateFin FROM offre WHERE ((dateDeb<$time) AND (dateFin>$time)) ORDER BY RAND() LIMIT 0,1");
$rowoffre = mysql_fetch_array($offre); 


et dans ma BDD il y a une ligne avec dateDeb = 2011-11-01 et dateFin = 2011-12-31.
De plus quand j'affiche $offre cela me donne : Resource id#11.

ps : $time = date("Y-m-d",time()); et cela me donne bien la date d'aujourd'hui.

Merci de votre aide.
Modifié par Fer2Lance (16 Nov 2011 - 21:04)
si tu veux que ça te retourne (ce que je crois comprendre), les réductions dont la date du jour se trouve entre la date de début et la date de fin, il faut faire comme ceci :

$offre=mysql_query("SELECT codeOffre,ville,reduction,dateDeb,dateFin FROM offre WHERE CURDATE() >=dateDeb AND CURDATE() <= dateFin ORDER BY RAND() LIMIT 0,1");

Modifié par xirt (17 Nov 2011 - 19:54)
Pourquoi pas utiliser une fonction de date sql effectivement.

sinon je pense que la premiere requete est erronée a cause de ceci

a écrit :
dateFin>$time avec $time = date("Y-m-d",time());



dateFin>2001-01-01 ça marche pas

dateFin>'2001-01-01' ça marche

Les dates sont des chaines de caractères. elles doivent être entourées par des quotes (')

Pascal