Rechercher : dans
Par :

PHP Calendrier afficher jour1 mois précédent

Dernière réponse le 9 mai 2009 à 18:05:22 philou42, le 9 mai 2009 à 18:02:56 
 Signaler ce message aux modérateurs

Bonjour,
je remercie la personne qui peut me donner un coup de mains sur le sujet je coince un peu

Voilà j'ai un calendrier qui fonctionne avec une base sql

il est composé de trois page une page mise à jour des événements

une page qui affiche les évenements : nouv.php

et page qui affiche les ancien évenements

sur ma page événement quand je fais une recherche en cliquant sur le mois on va dans les mois précédents , et j'aimerais tout simplement que quand on clique sur un mois précedent la page qui s'affiche soit celle du premier jour du mois ( alors qu'atuellement le retour d'un mois en arriere affiche le jour actuel ) alors on est obligé de choisir ensuite un jour sur le calendrier pour quelle s'actualise et idem quand on avance


la page ou le calendrier et en place : j'ai mis en bleu la partie qui concerne le calendrier retour et avance dans le temps par les mois

<?php
include ("connexion.php");
function mysql_date($champ)
{
$annee=substr($champ,0,4);
$mois=substr($champ,5,2);
$jour=substr($champ,8,2);
return $jour;
}
function premier_jour_du_mois($mois,$annee)
{
$intPremierJour = date("w",mktime(0,0,0,$mois,1,$annee));
if($intPremierJour == 0) $intPremierJour = 7; // si c'est un dimanche
return $intPremierJour-1;
}
function nbjour($m,$a)
{
if(($a%4)==0)
{
$fev=29;
}
else
{
$fev=28;
}
$mois = array(0,31,$fev,31,30,31,30,31,31,30,31,30,31);
for($x=1;$x<13;$x++)
{
if($m == $x)
{
return $mois[$x];
}
}
}

function lister_table()
{
$table="nouv";
$date = array();
$query = "SELECT * FROM table";
$result = mysql_query($query);
while ($val = mysql_fetch_array($result))
{
$date =mysql_date($val["date"]);
echo $date;

}
}

function afficheMois($mois, $annee)
{
$tab = getdate();
$jourc = $tab["mday"];
$anneec = $tab["year"];
$moisc = $tab["mon"];
$labelMois = array(" ","Janvier", "Février", "Mars", "Avril",
"Mai", "Juin", "Juillet", "Août", "Septembre",
"Octobre", "Novembre", "Décembre");
$labelJour = array("Lu.","Ma.","Me.","Je.","Ve.","Sa.","Di.");

$nbJours=nbjour($mois,$annee);
$css = "text";

echo "<div id='titre-calendrier'>
<table border=0 align='center'> \n";

$mp=$mois+1;
$mm=$mois-1;
$ap=$annee+1;
$am=$annee-1;
$acp=$annee;
$acm=$annee;

if($mp==13)
{
$mp=1;
$acp=$acp+1;
if($acp==2038)
{
$acp=1980;
}
}
if($mm==0)
{
$mm=12;
$acm=$acm-1;
if($acm<1980)
{
$acm=2037;
}
}

if($ap>2037){$ap=1980;}
if($am<1980){$am=2037;}

echo "
<tr>".
//modifier les liens ci-dessous avec votre chemin
"<td colspan=\"4\" class=\"$css\"><a href=\"http://essai.net/nouv.php?mois=$mm&annee=$acm\"><img src=\"arrow_left.gif\" border=\"0\">".
"</a> $labelMois[$mois] <a href=\"http://www.essai.net/nouv.php?mois=$mp&annee=$acp\"><img src=\"arrow_right.gif\" border=\"0\"></a></td>";
echo "<td colspan=\"3\" align=\"right\" class=\"$css\"><a href=\"http://www.essai.net/nouv.php?mois=$mois&annee=$am\"><img src=\"arrow_left.gif\" border=\"0\"> ".
"</a>$annee<a href=\"http://www.essais.net/nouv.php?mois=$mois&annee=$ap\"> <img src=\"arrow_right.gif\" border=\"0\"></a> </td></tr>";


echo "<tr>";
for ($i = 0; $i < 7; $i++) {
echo "<td class=\"$css\">$labelJour[$i]</td>";
}
echo "</tr>\n";

echo "<tr>";
for ($i = 0; $i < premier_jour_du_mois($mois,$annee); $i++)
{
echo "<td></td>";
}
/********************************/
for ($i = 1; $i <= $nbJours; $i++)
{
if (($i-1 + premier_jour_du_mois($mois,$annee)) % 7 == 0)
{
echo "</tr>\n<tr>";// Retour à la ligne chaque Lundi
}
if(($i-1==$jourc-1)&&($annee==$anneec)&&($mois==$moisc))
{
$cssClass = "datejour";
$htmltext = "<td align=\"right\" class=\"$cssClass\">$i</td>";
}
else
{
$cssClass = "date";
$htmltext = "<td align=\"right\" class=\"$cssClass\">$i</td>";
}
/*****************/
$debut_mois = date("Y-m-d", mktime(0,0,0,$mois,1,$annee));
$fin_mois = date("Y-m-d", mktime(0,0,0,$mois,$nbJours,$annee));

$query = "SELECT * FROM nouv where date >='$debut_mois' and date <='$fin_mois' ORDER BY date";
$result = mysql_query($query);
while ($val = mysql_fetch_array($result))
{
$date = mysql_date($val["date"]);
$id = $val["id"];
if($i==$date)
{
$cssClass = "date";
$htmltext = "<td align=\"right\" class=\"$cssClass\"><a href=nouv.php?ref=$id\" class=\"lien\" title=\"date événement\">$i</a></td>";
}
}
echo $htmltext;
}
/******************************/
echo "</tr>";
echo "</table></div>";
}
?>

la page qui affiche les donnée recupérées par ref=?id

<?php
include ("connexion.php");
$d=getDate();
$m = $_GET["mois"];
$a = $_GET["annee"];
if((!isSet($m)) ||(!isSet($a)))
{
AfficheMois($d["mon"],$d["year"]);
}
else
{
AfficheMois($m,$a);
}


function mysql_date_fr($champ)
{
$annee=substr($champ,0,4);
$mois=substr($champ,5,2);
$jour=substr($champ,8,2);
return $jour."-".$mois."-".$annee;
}
$ref_event = $_GET["ref"];
$query = "SELECT * FROM nouv where id=\"$ref_event\" ";
$result = mysql_query($query);
while ($val = mysql_fetch_array($result))
{
$id = $val["id"];
$date = mysql_date_fr($val["date"]);

$journee = mysql_date_fr($val["journee"]);
$jour = $val["jour"];
$mois = $val["mois"];

echo " ".$journee." ".$jour." ";
echo " ".$mois." ";

}
mysql_close();
?>

Configuration: Windows Vista Internet Explorer 7.0

Meilleures réponses pour « PHP Calendrier afficher jour1 mois précédent » dans :
[PHP] Comment afficher l'adresse IP d'un visiteur ? VoirPour afficher l'adresse IP d'un visiteur sur votre site, insérez ce code dans la zone où vous voulez qu'elle s'affiche.
[Webmaster] Afficher facilement le code php/xhtml de vos pages VoirSi vous voulez proposer a vos visiteurs de voir la source de vos fichiers (PHP ou HTML), il y a plusieurs solutions. En php Afficher le code php Afficher le code html En html Informations Voir aussi En php Afficher le code php La...
[PHP] Dernier jour du mois / Nombre de jours dans le mois VoirSoient $m le numéro du mois en question et $y l'année. La fonction date() permet d'afficher directement le nombre de jours dans le mois avec le caractère "t" :
PHP - Affichage de texte sur le navigateur VoirLe but de PHP est de permettre la création de pages web dynamiques, ainsi son but premier est de pouvoir envoyer des données au navigateur. Les trois fonctions standards PHP fournit 3 fonctions permettant d'envoyer du texte au navigateur. Ces...
Installation de EasyPHP VoirIntroduction à EasyPHP Afin de faire fonctionner PHP, il est nécessaire à la base d'en télécharger les sources depuis un site spécialisé (par exemple PHP.net), puis de compiler celui-ci (ainsi que d'éditer les liens) afin de créer un fichier...

1

 maxwelhouse, le 9 mai 2009 à 18:05:22
  • +1

Up

Répondre à maxwelhouse