par
nina_bee » 21 févr. 2007, 00:51
bonsoir,
je développe actuelement un site internet comportant un agenda en php. Son fnctionnement est simple: quand l'internaute clique sur une date , il est automatiquement redirrigé vers une page contenant les infos de l'évennement. Les infos sont chargées en fonction de l'id de l'évennement. Théoriquement je devrais récuperer les infos grace à $ligne=mysql_fetch_array mais aucunne donnée ne saffiche. Je ne comprend pas ou est l'erreur d'autant que j'ai déja utilisé cette fonction plusieurs fois sans problème
voici le code:
module de l'agenda:
<?php
/*******************AGENDA************************/
//include_once ("fonctions.inc.php");
// Création d'un tableau contenant les 12 mois de l'année.
$mois = array(
"1"=>"Janvier",
"2"=>"Février",
"3"=>"Mars",
"4"=>"Avril",
"5"=>"Mai",
"6"=>"Juin",
"7"=>"Juillet",
"8"=>"Août",
"9"=>"Septembre",
"10"=>"Octobre",
"11"=>"Novembre",
"12"=>"Décembre");
$today_day = date("j"); // Jour du mois sans les zéros initiaux (1 - 31)
$today_mont = date("n"); // Mois sans les zéros initiaux (1 - 12)
$today_year = date("Y"); // Année sur 4 chiffres (Exemples : 1999 et 2003)
// On envoie une requête au serveur pour avoir les évènement du mois.
$query = mysql_query('SELECT * FROM agenda WHERE mois='.$today_mont.' AND annee='.$today_year);
// on crée un boucle qui passe chaque résultat obtenu un a un...
while ($champs = mysql_fetch_array ($query)) {
// On crée un tableau qui contient le jour de l'évènement comme nom et son ID comme valeur...
$evenement[$champs['jour']] = $champs['id'];
}
// mktime renvoie le nombre de seconde depuis le 1er Janvier 1970
// mktime(heure, minute, second, mois, jour, année));
$mo = mktime(0, 0, 0, $today_mont, 01, $today_year);
// w : Jour de la semaine au format numérique (0 (pour dimanche) à 6 (pour samedi))
$first = date("w","$mo");
// t : Nombre de jours dans le mois (28 - 31)
$last = date("t","$mo");
// On donne la valeur 0 a la variable j qui nous servira plus tard.
$j = 0;
?>
page de réception de l'évennement (l'agenda est aussi présent sur cette page):
<?php
require_once ('connection.inc.php');
include_once('module_agenda.inc.php');
$req="SELECT * FROM agenda WHERE jour = '$today_day' AND mois ='$today_mont' AND annee = '$today_year'";
$result = mysql_query($req);
//echo "<br>".$result;//renvoie ressource id#5
$ligne = mysql_fetch_array($result);//pb avec le tableau
//echo "<br> nom= ".$ligne['nom'];
?>
<body>
<div id="conteneur">
<div id="head"><?php include ("header.inc.php"); ?></div>
<div id="center">
<div id="gauche">
<div id="nav">
<div class="margehaut"></div>
<div id="nav">
<?php echo '
<table id="agenda">
<!--- Rangé pour écrire le nom du mois et l\'année. --->
<tr><td colspan="7" class="line">' . $mois[$today_mont] . ' (' . $today_year . ')</td></tr>
<!--- Rangé pour les jours de la semaine... --->
<tr class="line">
<td class="case" align="center">D</td>
<td class="case" align="center">L</td>
<td class="case" align="center">M</td>
<td class="case" align="center">M</td>
<td class="case" align="center">J</td>
<td class="case" align="center">V</td>
<td class="case" align="center">S</td>
</tr>
';
// Création d'une boucle qui se répète pour les 6 rangée des semaines...
for ($s=1; $s<=6; $s++) {
// Cration d'une rangée...
echo '<tr class="line">';
// Pour chaque rangée, on créé 7 cellules (0 - 6)
for ($x=0; $x<=6; $x++) {
// Numéro de la cellule (0 - 42)
$day = (($s-1)*7)+($x);
// Si $j existe ou n'est pas null ($j > 0) on lui ajoute 1.
if (!empty($j)) {$j = $j + 1;}
// Si le numéro de la cellule est égale au premier jour du mois...
// On assigne 1 à la variable $j.
if ($day == $first) {$j = 1;}
// Si $j est plus grand que 0 et plus petit ou égale au dernier jour du mois...
if (($j > 0) and ($j <= $last)) {
// Si $j est égale au jour actuelle, on colorie la case de ce jour (class="today")...
if ($j == $today_day) {
// Si un évènement est daté pour ce jour...
if (!empty($evenement[$j])) {
// On écrit le lien pour aller sur la page des évènement...
echo '<td class="case2"><a href="evenement.php?id='.$evenement[$j].'"><strong>' . $j . '</strong></a></td>';
// Sinon
} else {
// On écrit seulement le jour.
echo '<td class="case2">' . $j . '</td>';
}
// Sinon, on ne colorie pas la case ( class="day")...
} else {
// Si un évènement est daté pour ce jour...
if (!empty($evenement[$j])) {
// On écrit le lien pour aller sur la page des évènement...
echo '<td class="case"><a href="evenement.php?id='.$evenement[$j].'"><strong>' . $j . '</strong></a></td>';
// Sinon
} else {
// On écrit seulement le jour.
echo '<td class="case">' . $j . '</td>';
}
}
// Sinon, on ne met rien dans la case...
} else {
echo '<td class="case"></td>';
}
}
// On referme les rangées.
echo '</tr>';
}
// On ferme le tableau.
echo '</table>';
?>
<div id="recherche">
<div id="search"> <?php include ("recherche_form.inc.php"); ?> </div>
</div>
<div id="zic">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase=
"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="122" height="33" title="player">
<param name="movie" value="my_playermini2.swf" />
<param name="quality" value="high" />
<PARAM name="AUTOPLAY" VALUE="true">
<PARAM name="LOOP" VALUE="true">
<embed src="my_playermini2.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type=
"application/x-shockwave-flash" autoplay="true" loop="true" controller="true"
width="122" height="33"></embed>
</object>
</div>
</div>
</div>
<div id="margegauche"></div>
<div class="filet"></div>
</div>
<div id="milieu">
<div class="titre"><?php $ligne['nom'] ?></div>
<div class="infos">
<p><?php echo $ligne['description']; ?></p>
<p>Date: <?php echo $ligne['jour']." ".$ligne['mois']." ".$ligne['annee']; ?></p>
<p>Lieu: <?php echo $ligne['lieu']; ?></p>
</div>
<div id="flyer"><img src="<?php echo $ligne ['photo']?>"</div>
<div id="page">AGENDA</div>
</div>
<div id="droite">
<div class="filet"></div>
<div id="arrows">
<div class="margehaut"></div>
<div class="arrow"><img src="img/fleche_up.gif"/></div>
<div id="middlearrow"></div>
<div class="arrow"><img src="img/fleche_down.gif" /></div>
</div>
<div id="margedroite"></div>
</div>
</div>
<div id="foot"><?php include ("footer.inc.php");?></div>
</div>
</body>
(désolé pour ce code un peu long :ange: ). Voila merci à tous ceux qui se pencheront sur le problème
bonsoir,
je développe actuelement un site internet comportant un agenda en php. Son fnctionnement est simple: quand l'internaute clique sur une date , il est automatiquement redirrigé vers une page contenant les infos de l'évennement. Les infos sont chargées en fonction de l'id de l'évennement. Théoriquement je devrais récuperer les infos grace à $ligne=mysql_fetch_array mais aucunne donnée ne saffiche. Je ne comprend pas ou est l'erreur d'autant que j'ai déja utilisé cette fonction plusieurs fois sans problème :cry:
voici le code:
module de l'agenda:
[php]
<?php
/*******************AGENDA************************/
//include_once ("fonctions.inc.php");
// Création d'un tableau contenant les 12 mois de l'année.
$mois = array(
"1"=>"Janvier",
"2"=>"Février",
"3"=>"Mars",
"4"=>"Avril",
"5"=>"Mai",
"6"=>"Juin",
"7"=>"Juillet",
"8"=>"Août",
"9"=>"Septembre",
"10"=>"Octobre",
"11"=>"Novembre",
"12"=>"Décembre");
$today_day = date("j"); // Jour du mois sans les zéros initiaux (1 - 31)
$today_mont = date("n"); // Mois sans les zéros initiaux (1 - 12)
$today_year = date("Y"); // Année sur 4 chiffres (Exemples : 1999 et 2003)
// On envoie une requête au serveur pour avoir les évènement du mois.
$query = mysql_query('SELECT * FROM agenda WHERE mois='.$today_mont.' AND annee='.$today_year);
// on crée un boucle qui passe chaque résultat obtenu un a un...
while ($champs = mysql_fetch_array ($query)) {
// On crée un tableau qui contient le jour de l'évènement comme nom et son ID comme valeur...
$evenement[$champs['jour']] = $champs['id'];
}
// mktime renvoie le nombre de seconde depuis le 1er Janvier 1970
// mktime(heure, minute, second, mois, jour, année));
$mo = mktime(0, 0, 0, $today_mont, 01, $today_year);
// w : Jour de la semaine au format numérique (0 (pour dimanche) à 6 (pour samedi))
$first = date("w","$mo");
// t : Nombre de jours dans le mois (28 - 31)
$last = date("t","$mo");
// On donne la valeur 0 a la variable j qui nous servira plus tard.
$j = 0;
?>
[/php]
page de réception de l'évennement (l'agenda est aussi présent sur cette page):
[php]
<?php
require_once ('connection.inc.php');
include_once('module_agenda.inc.php');
$req="SELECT * FROM agenda WHERE jour = '$today_day' AND mois ='$today_mont' AND annee = '$today_year'";
$result = mysql_query($req);
//echo "<br>".$result;//renvoie ressource id#5
$ligne = mysql_fetch_array($result);//pb avec le tableau
//echo "<br> nom= ".$ligne['nom'];
?>
<body>
<div id="conteneur">
<div id="head"><?php include ("header.inc.php"); ?></div>
<div id="center">
<div id="gauche">
<div id="nav">
<div class="margehaut"></div>
<div id="nav">
<?php echo '
<table id="agenda">
<!--- Rangé pour écrire le nom du mois et l\'année. --->
<tr><td colspan="7" class="line">' . $mois[$today_mont] . ' (' . $today_year . ')</td></tr>
<!--- Rangé pour les jours de la semaine... --->
<tr class="line">
<td class="case" align="center">D</td>
<td class="case" align="center">L</td>
<td class="case" align="center">M</td>
<td class="case" align="center">M</td>
<td class="case" align="center">J</td>
<td class="case" align="center">V</td>
<td class="case" align="center">S</td>
</tr>
';
// Création d'une boucle qui se répète pour les 6 rangée des semaines...
for ($s=1; $s<=6; $s++) {
// Cration d'une rangée...
echo '<tr class="line">';
// Pour chaque rangée, on créé 7 cellules (0 - 6)
for ($x=0; $x<=6; $x++) {
// Numéro de la cellule (0 - 42)
$day = (($s-1)*7)+($x);
// Si $j existe ou n'est pas null ($j > 0) on lui ajoute 1.
if (!empty($j)) {$j = $j + 1;}
// Si le numéro de la cellule est égale au premier jour du mois...
// On assigne 1 à la variable $j.
if ($day == $first) {$j = 1;}
// Si $j est plus grand que 0 et plus petit ou égale au dernier jour du mois...
if (($j > 0) and ($j <= $last)) {
// Si $j est égale au jour actuelle, on colorie la case de ce jour (class="today")...
if ($j == $today_day) {
// Si un évènement est daté pour ce jour...
if (!empty($evenement[$j])) {
// On écrit le lien pour aller sur la page des évènement...
echo '<td class="case2"><a href="evenement.php?id='.$evenement[$j].'"><strong>' . $j . '</strong></a></td>';
// Sinon
} else {
// On écrit seulement le jour.
echo '<td class="case2">' . $j . '</td>';
}
// Sinon, on ne colorie pas la case ( class="day")...
} else {
// Si un évènement est daté pour ce jour...
if (!empty($evenement[$j])) {
// On écrit le lien pour aller sur la page des évènement...
echo '<td class="case"><a href="evenement.php?id='.$evenement[$j].'"><strong>' . $j . '</strong></a></td>';
// Sinon
} else {
// On écrit seulement le jour.
echo '<td class="case">' . $j . '</td>';
}
}
// Sinon, on ne met rien dans la case...
} else {
echo '<td class="case"></td>';
}
}
// On referme les rangées.
echo '</tr>';
}
// On ferme le tableau.
echo '</table>';
?>
<div id="recherche">
<div id="search"> <?php include ("recherche_form.inc.php"); ?> </div>
</div>
<div id="zic">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase=
"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="122" height="33" title="player">
<param name="movie" value="my_playermini2.swf" />
<param name="quality" value="high" />
<PARAM name="AUTOPLAY" VALUE="true">
<PARAM name="LOOP" VALUE="true">
<embed src="my_playermini2.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type=
"application/x-shockwave-flash" autoplay="true" loop="true" controller="true"
width="122" height="33"></embed>
</object>
</div>
</div>
</div>
<div id="margegauche"></div>
<div class="filet"></div>
</div>
<div id="milieu">
<div class="titre"><?php $ligne['nom'] ?></div>
<div class="infos">
<p><?php echo $ligne['description']; ?></p>
<p>Date: <?php echo $ligne['jour']." ".$ligne['mois']." ".$ligne['annee']; ?></p>
<p>Lieu: <?php echo $ligne['lieu']; ?></p>
</div>
<div id="flyer"><img src="<?php echo $ligne ['photo']?>"</div>
<div id="page">AGENDA</div>
</div>
<div id="droite">
<div class="filet"></div>
<div id="arrows">
<div class="margehaut"></div>
<div class="arrow"><img src="img/fleche_up.gif"/></div>
<div id="middlearrow"></div>
<div class="arrow"><img src="img/fleche_down.gif" /></div>
</div>
<div id="margedroite"></div>
</div>
</div>
<div id="foot"><?php include ("footer.inc.php");?></div>
</div>
</body>
[/php]
(désolé pour ce code un peu long :ange: ). Voila merci à tous ceux qui se pencheront sur le problème