PHP Calendrier afficher jour1 mois précédent

Fermé
philou42 - 9 mai 2009 à 18:02
maxwelhouse Messages postés 275 Date d'inscription samedi 9 mai 2009 Statut Membre Dernière intervention 2 mars 2010 - 9 mai 2009 à 18:05
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();
?>
A voir également:

1 réponse

maxwelhouse Messages postés 275 Date d'inscription samedi 9 mai 2009 Statut Membre Dernière intervention 2 mars 2010 27
9 mai 2009 à 18:05
Up
0