Probleme avec le calendrier de cobaye

Eléphant du PHP | 258 Messages

12 déc. 2006, 17:40

Merci jojolapine .

Sa sent le ralebol :axe: et je te comprend, en faite mon code etait bon .

C'était juste une histoire de css car les css que j'avais mis dans mon calendrier passer en premiere donc c'était joli et tout beau, mais une fois que je faisait moi suivant, mon moi precedent sa utiliser les css que j'ai mis dans la feuille de style que j'utliser quand j'afficher mon calendrier.

Si personne à compris sa ne métonne pas car je suis pas sur de se que j'ai écris.

Bon tou va bien dans le meilleur des monde SAUF un truc, promis apres j'arrete de vous embêter.

Voila quand il y a un jour qui se transforme en lien et que l'on passe sur se lien, il aparait un petit texte ou plutot un titre la en locurence 'Voilà mon site' mais quand je fais moi suivant, moi precedent et que je repasse sur le lien il me met toujours le titre mais sous la forme 'Voil[]on site'

Vous auriez une idée, moi je cotinu à chercher.

ViPHP
ViPHP | 3607 Messages

12 déc. 2006, 23:51

ça doit venir de l'encodage de tes caractères...
il nous faut donc comme informations, l'encodage de ta page, celui de ta bdd...
pis après on verra où ça va pas...
T'inquiète j'en ai pas ras la bol :wink:
bonne fin de soirée

Eléphant du PHP | 258 Messages

13 déc. 2006, 11:02

Bonjour le matin vvien de se lever et c'est pas une belle journée heureusement il y a php.

Bon merci de me rassurer jojolapine.

Par contre je ne sais n'y ou se trouve l'encodage de ma page n'y l'encodage de la bd, c'est quoi encore se nouveau truc.

Eléphant du PHP | 258 Messages

13 déc. 2006, 11:19

Ce ne serais pas sa l'encodage de la page

Code : Tout sélectionner

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

Et celui de la bd ne seresse pas french(fr-iso-8859-1) par azar.

Eléphant du PHP | 258 Messages

16 déc. 2006, 11:36

Personne a une idee alors

Invité
Invité n'ayant pas de compte PHPfrance

06 mars 2007, 02:21

Bonjour je suis debutant tout juste en php
Je souhaiterais faire un calendrier comme il y a sur les blogs , qui permet dafficher quand on clique sur le jour dafficher larticle (stocké ds ma base) et qui correspond à la meme date !
Je voudrais que le lien s'affiche sil y a un article ds ma base pour cette date, ou ne saffiche pas s'il y en a pas ; et que le lien ait pour que ce soit simple cette forme ( http://monarticle.php?date=2007-03-15 ) .


Dans ma base mes articles ont le format de date de php myadmin (ex 2007-03-15) que jinsere normalement avec
$date = date("Y-m-d");
Jai bossé toute la soirée sur le calendrier fourni ds ce topicmais je narrive tjrs pas à afficher les liens, le calendrier saffiche normalement mais pas les liens ! Il y a juste ca que je veux pas le superflu avec les infos complementaires

Mes données sont stockées ds une table se nomant resumes
comportant les champs idresumes , date ...

Jai fait ce select je pense quil doit etre bon
"SELECT * FROM resumes ORDER BY date ASC "
Merci de votre aide car je rame totalement je pense quil ne doit pas y avoir bcp de chgts à faire par rapport aux codes precedents mais je ny arrive pas

ViPHP
ViPHP | 3607 Messages

06 mars 2007, 12:05

bonjour, je te conseil de regarder ce post, un peu plus en arrière...
si tu ne comprends pas, demande... :wink:

Eléphanteau du PHP | 12 Messages

06 mars 2007, 15:06

merci mais j'ai bien lu tous tes anciens posts, et ceux de 2501gigi, jai bidouillé toute la soirée, essayant aussi de faire des mixs entre les 2 mais hélas rien, jai bien le calendrier mais aucun lien qui saffiche :(

Invité
Invité n'ayant pas de compte PHPfrance

06 mars 2007, 16:21

montre moi les codes que tu as utilisé...

Eléphanteau du PHP | 12 Messages

06 mars 2007, 16:42

Voila le dernier essai que jai essayé cette nuit avec les codes des pages precedentes, ce que je souhaite faire (et mes parametres sont expliqué ci dessus :wink:
Ce code ne maffiche aucune erreur mais je nai pas les liens en fonction des dates ds ma base de données :(

Code du fichier calendrier.php (il ya aussi la page index.php (fourni ds le zip de depart) et la page ou jinclue le calendrier mais la je nai rien retouché )
<?php 
/** 
 * @package Ajax-PHP 
 */ 
/** 
 * calendrier 
 * 
 * Class qui g&eacute;r&egrave;re un calendrier autonome. 
 * <ul> 
 * <li>Affichage possible, en popup, en inclusion, en div ...</li> 
 * <li>Afficher un &eacute;v&egrave;nement avec le titre en rollover sur une date</li> 
 * <li>Afficher un &eacute;v&egrave;nement s'&eacute;talant sur une p&eacute;riode avec le titre en rollover sur une date</li> 
 * <li>D&eacute;finir un &eacute;v&egrave;nement par d&eacute;faut</li> 
 * <li>Affiche ou pas une s&eacute;lection pour une semaine</li> 
 * <li>Changer de mois sans recherger la page (merci ajax)</li> 
 * </ul> 
 * 
 * @example test.php 
 * @package sample 
 * @author LE CORRE 
 * @copyright Copyright (c) 2006 
 * @version 1 
 * @access public 
 **/ 
class calendrier 
{ 
    /** 
     * Ann&eacute;e de r&eacute;f&eacute;rence du calendrier. 
     * 
     * @var Int 
     */ 
    var $year; 
    /** 
     * Mois de r&eacute;f&eacute;rence du calendrier. 
     * 
     * @var Int 
     */ 
    var $month; 
    /** 
     * Jours du calendrier. 
     * 
     * @var Array 
     */ 
    var $days; 
    /** 
     * Longueur de la chaine indiquant le nom du mois. 
     * 
     * @var Int 
     */ 
    var $day_name_length; 
    /** 
     * Lien clicable vers un mois. 
     * 
     * @var String 
     */ 
    var $month_href; 
    /** 
     * Position du premier jour du mois. 
     * 
     * @var Int 
     */ 
    var $first_day; 
    /** 
     * Év&egrave;nement à afficher. 
     * 
     * @var String 
     */ 
    var $event; 

    /** 
     * calendrier::calendrier(). 
     * 
     * Constructeur de la classe. 
     * D&eacute;finit les propri&eacute;t&eacute;s de l'objet 
     * 
     * @param  string $year 
     * @param  string $month 
     * @return Object calendrier 
     * @access public 
     */ 
    function calendrier($year=null, $month=null) 
    { 
        /** 
         * D&eacute;finit l'ann&eacute;e par d&eacute;faut 
         */ 
        $this->year = isset($year) ? $year : date('Y'); 
        /** 
         * D&eacute;finit le mois pas d&eacute;faut 
         */ 
        $this->month = isset($month) ? $month : date('m'); 
        /** 
         * tableau des jours cliquables 
         */ 
        $this->day = array(); 
        /** 
         * D&eacute;finit le nombre de caract&egrave;re pour afficher les semaines 
         */ 
        $this->day_name_length = 3; 
        /** 
         * Contient le lien cliquable sur le mois 
         */ 
        $this->month_href = null; 
        /** 
         * D&eacute;finit le premi&egrave;re jour 
         */ 
        $this->first_day = 0; 
        /** 
         * Contient l'&eacute;v&egrave;nement à afficher par d&eacute;faut 
         */ 
        $this->event = "&nbsp;"; 
        /** 
         * Valeur par d&eacute;faut 
         */ 
        $this->semaine= false; 

        $this->calendar = ""; 

        /** 
         * D&eacute;finit la langue du calendrier 
         */ 
        $oldlocale = setlocale(LC_TIME, NULL); 
        setlocale(LC_TIME, 'fr_FR'); 
    } 

    /** 
     * calendrier::affec_previous(). 
     * 
     * Permet de personnaliser le bouton "pr&eacute;vious" pour afficher le mois pr&eacute;c&eacute;dent. 
     * Exemple : 
     * <code><?php 
     * $calendrier = new calendrier($annee, $mois); 
     * $calendrier->affec_previous($mois, $annee, "mois_prec.jpg"); 
     * //... 
     * ?></code> 
     * 
     * @param  mixed    $mois   mois en cours, sert à d&eacute;finir le mois pr&eacute;c&eacute;dent 
     * @param  mixed    $annee  mois en cours, sert à d&eacute;finir l'ann&eacute;e pr&eacute;c&eacute;dente 
     * @param  string   $img    chemin de l'image du bouton pr&eacute;c&eacute;dent optionnel 
     * @param  string   $alt    texte sur le lien optionnel par d&eacute;faut "Mois pr&eacute;c&eacute;dent" 
     * @param  string   $class  style css à appliquer au lien 
     * @return Void 
     * @access public 
     */ 
    function affec_previous($mois, $annee, $img='', $alt='Mois pr&eacute;c&eacute;dent', $class='') 
    { 
        $precedentannee = $annee; 
        $precedentmois = $mois-1; 
        if($precedentmois==0) 
        { 
            $precedentmois = 12; 
            $precedentannee = $annee-1; 
        } 

        $previous = "<a href=\"index.php\" onClick=\"go(".$precedentmois.",".$precedentannee."); return false;\">"; 
        if($img!="") 
        { 
            $previous.="<img class=\"".$class."\" src=\"".$img."\" alt=\"".$alt."\" />"; 
        } 
        else 
        { 
            $previous.= "<"; 
        } 
        $previous.="</a>"; 

        $this->previous = $previous; 
    } 

    /** 
     * calendrier::affec_next(). 
     * 
     * Permet de personnaliser le bouton next pour afficher le mois suivant. 
     * 
     * Exemple : 
     * <code><?php 
     * $calendrier = new calendrier($annee, $mois); 
     * $calendrier->affec_previous($mois, $annee, "mois_prec.jpg"); 
     * $calendrier->affec_next($mois, $annee,"mois_suiv.jpg"); 
     * //... 
     * ?></code> 
     * 
     * @param  String $mois     mois en cours, sert à d&eacute;finir le mois suivant. 
     * @param  String $annee    mois en cours, sert à d&eacute;finir l'ann&eacute;e suivante. 
     * @param  String $img      chemin de l'image du bouton suivant optionnel. 
     * @param  String $alt      texte sur le lien optionnel par d&eacute;faut "Mois suivant". 
     * @param  String $class    style css à appliquer au lien. 
     * @return void 
     * @access public 
     */ 
    function affec_next($mois, $annee, $img='', $alt='Mois suivant', $class='') 
    { 
        $suivantmois = $mois+1; 
        $suivantannee = $annee; 
        if($suivantmois==13) 
        { 
            $suivantmois = 1; 
            $suivantannee = $annee+1; 
        } 

        $next = "<a href=\"index.php\" onClick=\"go(".$suivantmois.", ".$suivantannee."); return false;\">"; 
        if($img!="") 
        { 
            $next.="<img class=\"".$class."\" src=\"".$img."\" alt=\"".$alt."\" />"; 
        }else{ 
            $next.= ">"; 
        } 
        $next.="</a>"; 

        $this->next = $next; 
    } 

    /** 
     * calendrier::affec_event_default() 
     * 
     * @param  mixed    $event  &eacute;v&egrave;nement à afficher par d&eacute;faut 
     * @param  mixed    $jour   date de l'&eacute;v&egrave;nement à afficher par d&eacute;faut optionnel 
     * @param  string   $link   lien de l'&eacute;v&egrave;nement à afficher par d&eacute;faut optionnel 
     * @param  string   $class  Class css de l'&eacute;v&egrave;nement à afficher par d&eacute;faut optionnel 
     * @return void 
     * @access public 
     */ 
    function affec_event_default($event,$jour='', $link='', $class='') 
    { 
        $this->event = $event; 
        if($jour!="") 
        { 
            $this->affec_day($jour); 
        } 
    } 

    /** 
     * calendrier::affec_link_month() 
     * 
     * @param  mixed    $link   lien à mettre sur le mois en cours 
     * @return void 
     * @access public 
     */ 
    function affec_link_month($link) 
    { 
        $this->month_href = $link; 
    } 

    /** 
     * calendrier::affec_day() 
     * 
     * @param  mixed    $day    date d'un &eacute;v&egrave;nement 
     * @param  mixed    $link   lien vers cette &eacute;v&egrave;nement optionnel 
     * @param  string   $class  class css du lien optionnel 
     * @param  string   $titre  titre à mettre sur le lien optionnel 
     * @return void 
     * @access public 
     */ 
 //la fonction affect_day 
 function affec_day($day, $link,$class) 
    { 
        if(date('m',$day)==$this->month && date('Y',$day)==$this->year) 
        { 
            $jour = intval(date('d', $day)); 
            $lien = '<td'.($class ? ' class="'.htmlspecialchars($class).'">' : '>'); 
            if(isset($this->day[$jour])) 
            { 
                $onblur = ("onmouseover=\"document.getElementById('event').innerHTML='Plusieurs évènements ce jour'\" onmouseout=\"document.getElementById('event').innerHTML='".$this->event."'\""); 
            }else{ 
                $onblur = ($titre ? "onmouseover=\"document.getElementById('event').innerHTML='".$titre."'\" onmouseout=\"document.getElementById('event').innerHTML='".$this->event."'\"" : ""); 
            } 
            $lien .= ($link ? '<a href="'.$link.'" '.$onblur.'>'.$jour.'</a>' : $jour).'</td>'; 
            $this->day[$jour] = $lien; 
        } 
    } 



    /** 
     * calendrier::affec_periode() 
     * 
     * @param  mixed    $debut  date de d&eacute;but d'un &eacute;v&egrave;nelent 
     * @param  mixed    $fin    date de fin de l'&eacute;v&egrave;nement 
     * @param  mixed    $link   lien vers cette &eacute;v&egrave;nement optionnel 
     * @param  string   $class  class css du lien optionnel 
     * @param  string   $titre  titre à mettre sur le lien optionnel 
     * @return void 
     * @access public 
     */ 
   function affec_periode($debut, $fin, $link, $class='', $titre='') 
    { 
        $premierdate = mktime(0,0,0,date('m', $debut), date('d', $debut), date('Y', $debut)); 
        $dernierdate = mktime(0,0,0,date('m', $fin), date('d', $fin), date('Y', $fin)); 
        $jour = date('d', $debut); 
        while($premierdate<=$dernierdate) 
        { 
            //echo "date ajouter :".date("d/m/Y", $premierdate)."<br />"; 
            $this->affec_day($premierdate,"#",$class, $titre); 
            $jour++; 
            $premierdate = mktime(0,0,0,date('m', $debut), $jour, date('Y', $debut)); 
        } 
    } 

    /** 
     * calendrier::affec_semaine() 
     * 
     * @param  Boolean  $affiche    active ou pas l'affichage de la colonne semaine 
     * @param  string   $link       lien pour la semaine                             optionnel 
     * @param  string   $variable1  nom de la premi&egrave;re variabl à envoyer             optionnel 
     * @param  string   $variable2  nom de la deuxi&egrave;me varaible à envoyer            optionnel 
     * @param  string   $titre      libelle qui apparait dans la colonne             optionnel 
     * @return void 
     * @access public 
     */ 
    function affec_semaine($affiche=true, $link='#', $variable1="datedebut", $variable2="datefin", $titre=">") 
    { 
        if($affiche) 
        { 
            $this->semaine = true; 
            $this->semainelink = $link; 
            $this->semainevariable1 = $variable1; 
            $this->semainevariable2 = $variable1; 
            $this->semainetitre = $titre; 
        } 
    } 

    /** 
     * calendrier::prepare_calendrier() 
     * 
     * @return void 
     * @access public 
     */ 
    function prepare_calendrier() 
    { 
        /** 
         * d&eacute;finit le premier jour 
         */ 
        $first_of_month = gmmktime(0,0,0,$this->month,1,$this->year); 

        /** 
         * initialise le calendrier 
         */ 
        $day_names = array(); 
        for($n=0,$t=(3+$this->first_day)*86400; $n<7; $n++,$t+=86400) 
        $day_names[$n] = ucfirst(gmstrftime('%A',$t)); 

        list($this->month, $this->year, $month_name, $weekday) = explode(',',gmstrftime('%m,%Y,%B,%w',$first_of_month)); 
        $weekday = ($weekday + 7 - $this->first_day) % 7; 
        $title   = htmlentities(ucfirst($month_name)).'&nbsp;'.$this->year; 

        /** 
         * d&eacute;but de la cr&eacute;ation du tableau du calendrier 
         */ 
        $this->calendar = '<table id="tabcalendrier" summary="Calendrier des &eacute;v&egrave;nements">'."\n"; 
        /** 
         * affichage du mois 
         */ 
        $this->calendar.= '<caption class="calendar-month">'.$this->previous.($this->month_href ? '<a href="'.htmlspecialchars($this->month_href).'">'.$title.'</a>' : $title).$this->next."\n"; 

        /** 
         * affichage du titre de l'&eacute;v&egrave;nement s'il y en a un 
         */ 
        $this->calendar.="<br /><span style='color: black' id=\"event\">".$this->event."</span>"; 
        /** 
         * fin de l'entete du tableau 
         */ 
        $this->calendar.= "</caption><thead><tr>"; 
        if($this->semaine) $this->calendar.="<th abbr=\"semaine\">&nbsp;</th>"; 
        /** 
         * Affichage de le ligne de jour de la semaine 
         */ 
        if($this->day_name_length) 
        { 
            foreach($day_names as $d) 
            { 
                $this->calendar .= '<th abbr="'.htmlentities($d).'">'.htmlentities($this->day_name_length < 4 ? substr($d,0,$this->day_name_length) : $d).'</th>'; 
            } 
            $this->calendar .= "</tr></thead>\n<tbody id=\"jours\"><tr>[semaine]"; 
        } 

        /** 
         * affichage des cellule vide avant le 1er jour 
         */ 
        if($weekday > 0) $this->calendar .= '<td colspan="'.$weekday.'">&nbsp;</td>'; 

        /** 
         * boucle pour afficher l'ensemble de jour du mois 
         */ 
        for($day=1,$days_in_month=gmdate('t',$first_of_month); $day<=$days_in_month; $day++,$weekday++) 
        { 
            if(!isset($premier_jour)) $premier_jour=$day; 
            if($weekday == 7) 
            { 
                $weekday   = 0; #start a new week 
                if($this->semaine) 
                { 
                    $liensemaine = "<a href=\"".$this->semainelink."?".$this->semainevariable1."=".$premier_jour."/".$this->month."/".$this->year."&".$this->semainevariable2."=".($day-1)."/".$this->month."/".$this->year."\">"; 
                    $this->calendar = str_replace("[semaine]", "<td>".$liensemaine.$this->semainetitre."</a></td>", $this->calendar); 
                }else{ 
                    $this->calendar = str_replace("[semaine]","",$this->calendar); 
                } 

                $this->calendar .= "</tr>\n<tr>[semaine]"; 
                $premier_jour = $day; 
            } 
            if(isset($this->day[$day])) 
            { 
                $this->calendar.= $this->day[$day]; 

            }else{ 
                $this->calendar .= "<td>$day</td>"; 
            } 
        } 
        /** 
         * affichage des cellule vide apr&egrave;s le dernier jour du mois 
         */ 
        if($weekday != 7) $this->calendar .= '<td colspan="'.(7-$weekday).'">&nbsp;</td>'; #remaining "empty" days 
        if($this->semaine==true) 
        { 
            $liensemaine = "<a href=\"".$this->semainelink."?".$this->semainevariable1."=".$premier_jour."/".$this->month."/".$this->year."&".$this->semainevariable2."=".($day-1)."/".$this->month."/".$this->year."\">"; 
            $this->calendar = str_replace("[semaine]", "<td>".$liensemaine.$this->semainetitre."</a></td>", $this->calendar); 
        }else{ 
            $this->calendar = str_replace("[semaine]","",$this->calendar); 
        } 
        /** 
         * fin du tableau du calendrier 
         */ 

        $this->calendar = $this->calendar."</tr>\n</tbody></table>\n"; 
    } 

    /** 
     * calendrier::affiche(). 
     * 
     * Retourner le calendier. 
     * 
     * @return String   Code html du calendrier. 
     * @access public 
     */ 
    function affiche() 
    { 
        $this->prepare_calendrier(); 
        return $this->calendar; 
    } 
} 

/** 
 * Partie proc&eacute;durale de la g&eacute;n&eacute;ration du calendrier. 
 */ 

/** 
 * D&eacute;finit le mois et l'ann&eacute;e en cours 
 */ 
$mois = isset($_GET['mois']) ? $_GET['mois'] : date('m'); 
$annee = isset($_GET['annee']) ? $_GET['annee'] : date('Y'); 

/** 
 * cr&eacute;ation du calendrier 
 */ 
$calendrier = new calendrier($annee, $mois); 

/** 
 * d&eacute;finit les boutons suivant, pr&eacute;c&eacute;dent et l'&eacute;v&egrave;nement pas d&eacute;faut 
 */ 
$calendrier->affec_previous($mois, $annee, "../css/img/mois_prec.gif","Mois pr&eacute;c&eacute;dent","prenext"); 
$calendrier->affec_next($mois, $annee,"../css/img/mois_suiv.gif","Mois pr&eacute;c&eacute;dent","prenext"); 


//récupération des données et affectation 
include ("connect.php"); // Importe ce fichier
$query_RTagenda = "SELECT date FROM resumes ORDER BY date ASC "; 
$RTagenda = mysql_query($query_RTagenda, $link) or die(mysql_error()); 
$totalRows_RTagenda = mysql_num_rows($RTagenda); 

 $donnees = mysql_fetch_assoc($RTagenda); 
print_r ($donnees) ; 

$donnees=array(); 
//while($value=$connec_calendrier->fetchNextRow(MYSQL_ASSOC)) array_push($donnees,$value); 
foreach($donnees as $donnee){ 
    $date=explode(' ',$donnee['date']); 
    $jour=explode('-',$date[0]); 
    $jour = mktime(0,0,0,$jour[1],$jour[2],$jour[0]); 
    $calendrier->affec_day($jour, 'mon article.php?tri='.$date[0]); 
} 
echo $calendrier->affiche(); 
?> 
merci

ViPHP
ViPHP | 3607 Messages

06 mars 2007, 17:05

tu as oublié de commenter des choses dans mon code original:
 $donnees = mysql_fetch_assoc($RTagenda); 
print_r ($donnees) ; 

$donnees=array(); 
a ton avis que contient $donnees après ça ?

Eléphanteau du PHP | 12 Messages

06 mars 2007, 18:54

Meme en commentant ces 3lignes ca ne marche pas et si je les commente le
foreach($donnees as $donnee){
ne peut plus fonctionner :? Je suis bien perdu la :(

ViPHP
ViPHP | 3607 Messages

07 mars 2007, 13:43

$donnees = mysql_fetch_assoc($RTagenda); //içi, $donnees devient un tableau rempli par le résultat de ta requête...

print_r ($donnees) ; // içi on le contenu du tableau est affiché (ça donne quoi au passage ?)

$donnees=array();// c'est içi que tout fout le camp, tu "écrases" le tableau rempli précédemment par un tableau vide... résultat, il n'y a
// plus aucune dates à affecté au tableau... 
tu comprends mieux ?

Eléphanteau du PHP | 12 Messages

07 mars 2007, 16:30

d'abord merci pour ta patience et tes explications

Sinon jai donc supprimé ce que tu m'as dit, mais les liens ne marchent tjrs pas, le reste fonctionne et je n'ai pas derreur daffichées, concernant le print r il ne maffiche que la 1ere date de ma base et pas les autres :

Code : Tout sélectionner

PHP: Array ( [date] => 2007-02-01 )
Je te mets le code de l'affect day qui je pense influe sur la fin et la fin du code ou jai supprimé ce qui était superflu pour ce que je veux faire ds ladresse comme le petit div qui doit apparaitre par dessus

laffectfday
 //la fonction affect_day 
 function affec_day($day, $link) 
    { 
        if(date('m',$day)==$this->month && date('Y',$day)==$this->year) 
        { 
            $jour = intval(date('d', $day)); 
            $lien = '<td'.($class ? ' class="'.htmlspecialchars($class).'">' : '>'); 
            if(isset($this->day[$jour])) 
            { 
                $onblur = ("onmouseover=\"document.getElementById('event').innerHTML='Plusieurs évènements ce jour'\" onmouseout=\"document.getElementById('event').innerHTML='".$this->event."'\""); 
            }else{ 
                $onblur = ($titre ? "onmouseover=\"document.getElementById('event').innerHTML='".$titre."'\" onmouseout=\"document.getElementById('event').innerHTML='".$this->event."'\"" : ""); 
            } 
            $lien .= ($link ? '<a href="'.$link.'" '.$onblur.'>'.$jour.'</a>' : $jour).'</td>'; 
            $this->day[$jour] = $lien; 
        } 
    } 



    /** 
     * calendrier::affec_periode() 
     * 
     * @param  mixed    $debut  date de d&eacute;but d'un &eacute;v&egrave;nelent 
     * @param  mixed    $fin    date de fin de l'&eacute;v&egrave;nement 
     * @param  mixed    $link   lien vers cette &eacute;v&egrave;nement optionnel 
     * @param  string   $class  class css du lien optionnel 
     * @param  string   $titre  titre à mettre sur le lien optionnel 
     * @return void 
     * @access public 
     */ 
   function affec_periode($debut, $fin, $link, $class='', $titre='') 
    { 
        $premierdate = mktime(0,0,0,date('m', $debut), date('d', $debut), date('Y', $debut)); 
        $dernierdate = mktime(0,0,0,date('m', $fin), date('d', $fin), date('Y', $fin)); 
        $jour = date('d', $debut); 
        while($premierdate<=$dernierdate) 
        { 
            //echo "date ajouter :".date("d/m/Y", $premierdate)."<br />"; 
            $this->affec_day($premierdate,"#",$class, $titre); 
            $jour++; 
            $premierdate = mktime(0,0,0,date('m', $debut), $jour, date('Y', $debut)); 
        } 
    } 

et la fin du code
//récupération des données et affectation 
include ("connect.php"); // Importe ce fichier
$query_RTagenda = "SELECT date FROM resumes ORDER BY date ASC "; 
$RTagenda = mysql_query($query_RTagenda, $link) or die(mysql_error()); 
$totalRows_RTagenda = mysql_num_rows($RTagenda); 


 $donnees = mysql_fetch_assoc($RTagenda); 
print_r ($donnees) ; 

foreach($donnees as $donnee){ 
    $date=explode(' ',$donnee['date']); 
    $jour=explode('-',$date[0]); 
    $jour = mktime(0,0,0,$jour[1],$jour[2],$jour[0]); 
    $calendrier->affec_day($jour, 'mon article.php?tri='.$date[0]); 
} 
echo $calendrier->affiche(); 
?> 

ViPHP
ViPHP | 3607 Messages

07 mars 2007, 16:41

bonjour,
tu ferais mieu de repnredre la fonction d'origine, car en voulant modifier celle que j'avais déja modifié, à savoir celle-ci:
    function affec_day($day, $link='#', $class='',$titre='',$info='')
    {
        if(date('m',$day)==$this->month && date('Y',$day)==$this->year)
        {
            $jour = intval(date('d', $day));
            $lien = '<td'.(!empty($class) ? ' class="'.htmlspecialchars($class).'">' : '>');
            if(isset($this->day[$jour]))
            {
                $onblur = ("onmouseover=\"document.getElementById('event').innerHTML='Plusieurs &eacute;v&egrave;nements ce jour'\" onmouseout=\"document.getElementById('event').innerHTML='".$this->event."'\"");
            }else{
                $onblur = ($titre ? "onmouseover=\"document.getElementById('event').innerHTML='".$titre."'\" onmouseout=\"document.getElementById('event').innerHTML='".$this->event."'\"" : "");
            }
            $lien .= ($link ? '<a class="infobulles" title="" href="'.htmlspecialchars($link).'" '.$onblur.'>'.$jour.(!empty($info) ? '<span>'.nl2br($info).'</span>' : '').'</a>' : $jour).'</td>';
            $this->day[$jour] = $lien;
        }
    }
tu as oublié pleins de choses, et laisser trainer des variables...comme $onblur, $titre, $class...
ressaye avec la fonction de départ donnée par cobaye