dimension-pc Posté 5 Mars 2005 Posté 5 Mars 2005 Bonjour, Je cherche depuis ce matin une fonction en php qui permettrais de sélectionner une date en vain C'est à dire que j'affiche la date à laquelle j'ai ajouté mon article, mais j'aimerais que la date du jour soit mis en rouge et que les autres dates soient mises en noir. Par exemple, nous sommes le 5/03/05 et j'ai écris un article hier (le 4), donc il s'affiche en noir: 4/03/05. Aujourd'hui, j'ai mis un article, il s'affiche donc: 5/03/05 (en rouge). Mais demain, la date du 5/03/05 sera en noire et ce sera le 6/03/05 qui sera alors en rouge. Avez-vous une technique qui permette d'obtenir ce type de système ?
Jan Posté 5 Mars 2005 Posté 5 Mars 2005 Salut, Tu peux par exemple déterminer la date du jour avec: <?php// --- détermination de la date du jour ----------------------------------$le_jour = date("j");// du 1 au 31$le_mois = date("n");// 1=janvier..12=decembre$l_annee = date("Y");// 2004, 2005, ...$la_date = $le_jour."/".$le_mois."/".$l_annee;?> A partir de là tu peux comparer la date du jour avec les dates de tes articles et les afficher dans les couleurs voulues. Toutes les formats de la fonction date(): http://www.php.net/manual/fr/function.date.php
Dan Posté 5 Mars 2005 Posté 5 Mars 2005 Salut dimension-pc, Ce qu'il faut savoir, c'est sous quel format ta date d'article est stockée. Est-elle en base de données ? Y-a-t'il des "leading 0" ? (5 mars noté 05/03) Comprend-elle uniquement le jour/mois/année ou comprend-elle l'heure aussi ? Dan
dimension-pc Posté 5 Mars 2005 Auteur Posté 5 Mars 2005 Je me suis basé sur le script Dotclear avec un format du type: jour/mois/année 05/03/2005
Dan Posté 5 Mars 2005 Posté 5 Mars 2005 Dans ce cas c'est simple à faire <?php$today=date("d/m/Y");if($date_article == $today) print "<span style=\"color:red;\">".$titre_article."</a>";else print "<span style=\"color:black;\">".$titre_article."</a>";?> pour autant que les variables $date_article et $titre_article contiennent la date et le titre de tes articles. Ces noms seront à modifier selon ton code. Dan
dimension-pc Posté 5 Mars 2005 Auteur Posté 5 Mars 2005 (modifié) Re, J'ai bon essayer sous toutes les formes, j'obtient un parse error Mais, le problème doit venir de mes variables qui sont assez zarb: Voici le fichier à modifier: <?php?><!-- Boucle sur la liste de billets --><?php while ($news->fetch()) : ?><div class="post"><h2 id="<?php dcPostID(); ?>" class="post-title"><a href="<?php dcPostURL(); ?>"><b><?php dcPostTitle(); ?></b></a></h2> <p class="post-info">Par <?php dcPostAuthor(); ?> le <?php dcPostDate(); ?> à <?php dcPostTime(); ?><span>::</span> <a href="<?php dcPostURL(); ?>#co" title="commentaires pour : <?php dcPostTitle(); ?>"><?php dcPostNbComments('aucun commentaire','un commentaire','%s commentaires'); ?></a></p></div><?php endwhile; ?> Si j'essaye sur ton modèle de reprendre, j'obtiens: <?php$today=date("d/m/Y");if(<?php dcPostDate(); ?> == $today) print "<font color="red"><?php dcPostDate(); ?></font>";else print "<?php dcPostDate(); ?>";?> En sachant que <?php dcPostDate(); ?> correspond à la date sous la forme jour/mois/année. Quelqu'un a t-il une solution ? Modifié 5 Mars 2005 par dimension-pc
Dan Posté 5 Mars 2005 Posté 5 Mars 2005 Tu sembles mélanger les balises de php Remplaces: <?php$today=date("d/m/Y");if(<?php dcPostDate(); ?> == $today) print "<font color="red"><?php dcPostDate(); ?></font>";else print "<?php dcPostDate(); ?>";?> Par <?php$today=date("d/m/Y");if(dcPostDate() == $today) print "<font color=\"red\">". dcPostDate(). "</font>";else print dcPostDate();?> Dans la mesure où la fonction dcPostDate() te renvoie bien une date au format JJ/MM/AAA
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant