Afficher un événement en fonction de la date

Petit nouveau ! | 6 Messages

24 oct. 2014, 16:30

Bonjour à toutes et à tous,

Après avoir pas mal planché sur un petit problème, je viens quémander un petit peu d'aide :roll:

Explication :

Sur un de mes sites, les membres peuvent poster différents événement tout en précisant la date. Jusqu'à présent, la date était un simple renseignement que le membre remplissait et s'ajoutait dans ma base mais en tant que "TEXT". Donc pas de DATETIME.

Code : Tout sélectionner

<input type="text" size="2" name="jour" value="<?php echo $jour; ?>" /> <input type="text" size="2" name="mois" value="<?php echo $mois; ?>" />
Les événements sont alors affichés sur le site de façon toute bête.

Code : Tout sélectionner

$jour = nl2br(htmlentities(stripslashes($donnees['jour']))); echo $jour; ?>/<?php $mois = nl2br(htmlentities(stripslashes($donnees['mois']))); echo $mois;
Et la sélection sur ma base de donnée était tout aussi simple :

Code : Tout sélectionner

('SELECT * FROM evenement ORDER BY mois DESC ,date DESC LIMIT 0, 20');
Mon problème vient du fait que je souhaite un peu changer le principe et afficher seulement les événement de la date actuelle. En gros ne sélectionner que les événements de la date "today".
J'ai donc réussi à faire cela de façon manuel :

Code : Tout sélectionner

('SELECT * FROM evenement WHERE jour = 24 AND mois = 10 ');
Evidemment je souhaite ne pas avoir à faire ça tous les jours mais que cela soit automatisé. Ma question est donc de savoir si je dois revoir entièrement mon formulaire en intégrant un DATETIME cette fois-ci, ou si il existe une solution plus simple.
J'avais comme idée par exemple d'exploiter les informations obtenues par un getdate(), mais je bloque.

J'en convient que la méthode est plutôt barbare, je reste encore un peu novice en comparaison à certain.
En vous remerciant d'avance pour vos réponses, je vous tiendrai informé de l'avancement. ;)

Eléphanteau du PHP | 19 Messages

26 oct. 2014, 23:43

Bonjour

Pour vous évider d'avoir à saisir le jour et le mois je vous propose de transformer l'élément sql NOW() en DATE(NOW()).
Vous obtiendrez une date du format 2014-12-31 par exemple

Un exemple de requête:
SELECT *
FROM `table_date`
WHERE date = DATE(NOW( ));