Afficher un événement en fonction de la date

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Afficher un événement en fonction de la date

Re: Afficher un événement en fonction de la date

par DelphineNC » 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( ));

Afficher un événement en fonction de la date

par AQweR » 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. ;)