Votre question

PHP -> script pour calendrier : où est l'erreur...

Tags :
  • Script
  • Programmation
Dernière réponse : dans Programmation
25 Avril 2007 16:57:37

Bonjour à tous,
Je voudrais installer un petit calendrier sur mon site qui afficherait les évènements contenus dans ma base quand on clique sur une date. Vu que je débute en php, j'ai trouvé un script sur le net qui me convenait bien et que j'ai donc adapté pour mon site. Problème : mes dates qui contiennent des évènements m'affichent bien un lien vers la description de l'évènement, mais quand je clique dessus, il me met une erreur 404. Pouvez vous me filer un coup de main pour trouver l'erreur dans le script? Merci d'avance pour votre aide...

J'ai un fichier connexion.php pour me connecter à ma base, un fichier calendar.php qui contient le script du calendrier, et le fichier agenda.php qui m'affiche tout ca. Voici mes codes pour chaque fichier :

Connexion.php :
<?php
$host = "localhost";
$user = "g**********e";
$pass = "g**********e";
$bdd = "site_groupe";
// connexion
@mysql_connect($host,$user,$pass)
or die("Impossible de se connecter");
@mysql_select_db("$bdd")
or die("Impossible de se connecter");
?>

Calendar.php

<?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="events";
$dates = array();
$query = "SELECT * FROM $table";
$result = mysql_query($query);
while ($val = mysql_fetch_array($result))
{
$date_event =mysql_date($val["date_event"]);
echo $date_event;

}
}

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 "<table border=0>\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://localhost/54agauche/agenda.php?mois=$mm&annee=$acm\"><img src=\"images/arrow_left.gif\" border=\"0\">".
"</a> $labelMois[$mois] <a href=\"http://localhost/54agauche/agenda.php?mois=$mp&annee=$acp\"><img src=\"images/arrow_right.gif\" border=\"0\"></a></td>";
echo "<td colspan=\"3\" align=\"right\" class=\"$css\"><a href=\"http://localhost/54agauche/agenda.php?mois=$mois&annee=$am\"><img src=\"images/arrow_left.gif\" border=\"0\"> ".
"</a>$annee<a href=\"http://localhost/54agauche/agenda.php?mois=$mois&annee=$ap\"> <img src=\"images/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 events where date_event >='$debut_mois' and date_event <='$fin_mois' ORDER BY date_event";
$result = mysql_query($query);
while ($val = mysql_fetch_array($result))
{
$date_event = mysql_date($val["date_event"]);
$idevent = $val["idevent"];
if($i==$date_event)
{
$cssClass = "date_event";
$htmltext = "<td align=\"right\" class=\"$cssClass\"><a href=event.php?ref=$idevent\" class=\"lien\" title=\"date événement\">$i</a></td>";
}
}
echo $htmltext;
}
/******************************/
echo "</tr>";
echo "</table>";
}
?>


Agenda.php

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

Autres pages sur : php script calendrier erreur

26 Avril 2007 11:57:26

Up...
26 Avril 2007 14:29:17

"//modifier les liens ci-dessous avec votre chemin " pourtant claire non?
26 Avril 2007 15:02:42

j'ai déjà modifié ces liens ce qu'on voit ce sont mes chemins...
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS