Aller au contenu

Sujets conseillés

Posté

Bonjour,

Je cherche depuis ce matin une fonction en php qui permettrais de sélectionner une date en vain :wacko:

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 ?

Posté

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

Posté

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

Posté

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

Posté (modifié)

Re,

J'ai bon essayer sous toutes les formes, j'obtient un parse error :wacko:

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é par dimension-pc
Posté

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 ;)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...