Probleme avec le calendrier de cobaye

Eléphant du PHP | 258 Messages

04 nov. 2006, 20:22

Bon voila je chercher a faire une calendrier et j'ai cherché sur se forum et j'ai trouvait je calendrier de cobaye mais le probleme c'est que les images qui font defiler les mois (precedent, suivant)ne s'afficher pas pour les mois de aout, septembre, octobre, novembre et decembre 2006, alors que pour tout les autres mois sa marche nickel.

Et 2 ieme questions peut on transformer ce calendrier en agenda, c'est a dire faire que l'on rentre une information dans la BD qu' apres sa recupere la date et que sur le calendrier la date devienne un lien qui va vers l'endroit ou se trouve cette info.


Bon j'espere avoir eté clair je suis pas sur.

Merci

ViPHP
ViPHP | 3607 Messages

04 nov. 2006, 20:41

tou est possible si le script de départ est bon (et c'est le cas içi)...
tu peux voir un aperçu içi de ce que j'en ai fait:
http://perdu.com (j'ai plus mon hébergement...)
sinon moi je n'ai aucun problème pour l'affichage des images... fait voir ton code...
Modifié en dernier par jojolapine le 22 mai 2007, 18:17, modifié 1 fois.

Eléphant du PHP | 258 Messages

04 nov. 2006, 21:15

Tout d'abord merci de m'avoir repondu et bravo pour ton agenda.

Pour le code c'est exactement le code de depart a part que j'ai change se que tu disais de changer et loi j'ai changer sa en faite sur la page calendrier.php
 if($img!="")
        {
            $previous.="<img src=mois_prec.jpg alt=\"".$alt."\" />";
        }
        else
et sa

 if($img!="")
        {
            $next.="<img src=mois_suiv.jpg alt=\"".$alt."\" />";
        }else{
            $next.= ">";
Je ne pense pas etre aussi calé que toi pour obtenir se que tu en a fait.

Eléphant du PHP | 258 Messages

04 nov. 2006, 21:45

Bon apparament sa c'est arranger tout seul.

Part contre comment on le personnalise (taille de la police, du cadre enfin tout quoi) une indiquation de depart car je veut pas trafiqué le code et apres plus savoir comment le remettre corect.

Merci

Mammouth du PHP | 19672 Messages

04 nov. 2006, 21:54

Je dirais qu'avec une feuille de style CSS, tu devrais pouvoir le personnaliser à ton goût sans même ouvrir le code PHP du tout.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 258 Messages

05 nov. 2006, 11:10

Merci de ta reponse mais je ne connais pas trop les feuille de style , c'est un peut comme mettre en gras, la couleur ect..

Mais qu'est que je met dedans et surtout ou je la met cette feuille de style apres.

Mammouth du PHP | 19672 Messages

05 nov. 2006, 11:18

Tu devrais faire un tour sur le site de Alsacréations : c'est LE site de référence en CSS et tu y trouveras toutes les bases nécessaires à travers une quantité appréciable de tutos.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
ViPHP | 3607 Messages

05 nov. 2006, 11:28

bon je vois que tu as un peu de mal ;-)
je vais te montrer ce qu'ai j'ai modifié...
dans le fichier calendrier.php, j'ai juste rajouter dans les balises des classes css... comme par exemple dans la fonction affec_day(), j'ai mit ceci:

Code : Tout sélectionner

class="infobulles"
içi:
$lien .= ($link ? '<a class="infobulles" title="" href="'.htmlspecialchars($link)...
ou encore, voici ma fonction affec_next modifiée:
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;
    }
elle peut prendre ainsi un attribut title et le nom de la classe que je souhaite, je l'appel comme ceci:
$calendrier->affec_next($mois, $annee,"../css/img/mois_suiv.gif","Mois pr&eacute;c&eacute;dent","prenext");
et pour que tu vois un peu à quoi ça sert, voici la partie css de l'affaire:

Code : Tout sélectionner

div#calendrier { padding: 0px; margin: 0px; width: 100%; text-align: center; font-size: 0.8em; } div#calendrier table#tabcalendrier { width: 100%; } div#calendrier td { margin: 0px; padding: 0px; } div#calendrier td.eventday{ background-color: orange; } div#calendrier img.prenext { border: none; padding: 0px 8px; margin: 0px; } a.infobulles { position: relative; color: black; text-decoration: none; border-bottom: 1px dotted black; } a.infobulles span { display: none; } a.infobulles:hover { background: none; z-index: 500 } a.infobulles:hover span { display: block; position: absolute; white-space: nowrap; top: 30px; left: -50px; background-color: #FFFF99; color: black; padding: 3px; border: 1px solid red; border-left: 3px solid red; opacity: 0.80; -moz-opacity: 0.80; FILTER: Alpha(Opacity=80); }
tu peux peut-être oublier la dernière partie sur les infobulles, c'est la plus difficile à mettre en place...
pour finir, pour te montrer, comment ce servir du calendrier dynamiquement:$voici comment je fait (certainement pas optimisé mais ça marche):
require_once('mysql.classe.php');
include('../config/config.php');
$connec_calendrier=new mysqlConcertation();
$sql='SELECT * FROM `dates` WHERE `poubelle`=\'non\'';
$connec_calendrier->query($sql);
$donnees=array();
while($value=$connec_calendrier->fetchNextRow(MYSQL_ASSOC)) array_push($donnees,$value);
foreach($donnees as $donnee){
    $date=explode(' ',$donnee['date_concert']);
    $jour=explode('-',$date[0]);
    $jour = mktime(0,0,0,$jour[1],$jour[2],$jour[0]);
    $calendrier->affec_day(
                       $jour,
                       'dates.php?tri='.$date[0],
                       'eventday',
                       $donnee['nom_groupe'],
                       "Nom du groupe: ".$donnee['nom_groupe']."\nSalle: ".
                       $donnee['salle']."\nHoraire: ".$date[1]);
}
voilà, je t'ai donné un aperçu de la manière selon laquelle j'ai procédé, mais tu n'auras certainement pas à faire la même chose, c'est à toi de voir selon ton design, selon tes bases de données... bref c'est un exemple, à toi de reconstruire ce dont tu as besoin.
en espérant t'avoir aidé.
ciao

Eléphant du PHP | 258 Messages

05 nov. 2006, 12:20

Merci pour vos reponse, cyrano je suis allé sur le site et c'est tres bien fait.

Pour jojolapine je ne comprend pas ou il faut place se code si c'est dans la page elle meme ou faire un include.

Code : Tout sélectionner

div#calendrier { padding: 0px; margin: 0px; width: 100%; text-align: center; font-size: 0.8em; } div#calendrier table#tabcalendrier { width: 100%; } div#calendrier td { margin: 0px; padding: 0px; } div#calendrier td.eventday{ background-color: orange; } div#calendrier img.prenext { border: none; padding: 0px 8px; margin: 0px; } a.infobulles { position: relative; color: black; text-decoration: none; border-bottom: 1px dotted black; } a.infobulles span { display: none; } a.infobulles:hover { background: none; z-index: 500 } a.infobulles:hover span { display: block; position: absolute; white-space: nowrap; top: 30px; left: -50px; background-color: #FFFF99; color: black; padding: 3px; border: 1px solid red; border-left: 3px solid red; opacity: 0.80; -moz-opacity: 0.80; FILTER: Alpha(Opacity=80); }

Ensuite c'est se code qu'il faut que je modifier pour obtenir un tableau different.

je suis un peut pomer mais je cherche.

Eléphant du PHP | 258 Messages

05 nov. 2006, 12:23

A sa y est je comprend mieux

ViPHP
ViPHP | 3607 Messages

05 nov. 2006, 12:24

il y sur alsacréation tout ce que tu souhaites:
http://www.tuteurs.ens.fr/internet/web/ ... .html#s1_2
trouver sur cette page:
http://css.alsacreations.com/Comment-de ... nformation

Mammouth du PHP | 19672 Messages

05 nov. 2006, 12:28

Merci pour vos reponse, cyrano je suis allé sur le site et c'est tres bien fait....
Si tu y avais fait un tour plus approfondi, tu n'aurais pas posé la question suivante à jojolapine pour la simple raison que ce code, c'est une feuille de style CSS.

Le langage des CSS, c'est un langage client au même titre que le HTML ou le JavaScript. Il s'inclut soit en ligne dans le code HTML avec l'attribut style, soit dans la partie en-tête HTML entre deux balises <style> soit en feuille externe qu'on appelle depuis l'en-tête HTML avec une balise <link />.

Ce qu'il faut que tu arrives à distinguer c'est la structure des différentes parties qui servent à construire une page, chaque partie pouvant être exécuté coté serveur ou coté client et dans un langage différent des autres parties. Il faut arriver à suivre la chronologie du déroulement de cette construction pour savoir à quel moment tu dois inclure tel ou tel morceau.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 258 Messages

05 nov. 2006, 12:44

Oui non, je me suis mal exprimer en faite c'est par aport au code php de la page calendrier.php.

Par exemple la couleur de la police des jours je fait un truc comme sa.

Code : Tout sélectionner

.Coulpoljours { color: #0000FF; font-weight: bold; }
Je l'appelle en faisant sa:

Code : Tout sélectionner

class="Coulpoljours"
Mais je ne vois pas dans le code de cette page ou le mettre.

Si c'est dans la fonction affect_day ou autre.

Vous voyez se que je veut dire.

ViPHP
ViPHP | 3607 Messages

05 nov. 2006, 12:48

un conseil pour te permettre d'avancer:
regarde le code source de la page générée...
tu verras ainsi quelles sont les classes déja en place...
mais ça n'est pas forcément nécessaire de rajouter des classes de partout, par exemple, tu peux voir que sur ma age, le texte est en gris, et je n'ai rajouter aucun code css sur les éléments du calendrier (du moins pas pour ça), mais c'est dans les éléments parents que j'ai définis cette couleur...

Eléphant du PHP | 258 Messages

05 nov. 2006, 13:48

Donc j'ai regarder c'est se genre de truc c'est sa :

Code : Tout sélectionner

<table id="tabcalendrier" summary="Calendrier des évènements"> <caption class="calendar-month"><span class=""><a href=admin//%22index.php/%22 onClick="go(10,2006); return false;"><img src=mois_prec.jpg alt="Mois précédent" /></a></span>&nbsp;Novembre&nbsp;2006&nbsp;<span class=""><a href=admin//%22index.php/%22 onClick="go(12, 2006); return false;"><img src=mois_suiv.jpg alt="Mois suivant" /></a></span> <br /><span style='color: black' id="event">&nbsp;</span></caption><thead><tr><th abbr="Dimanche">Dim</th><th abbr="Lundi">Lun</th><th abbr="Mardi">Mar</th><th abbr="Mercredi">Mer</th><th abbr="Jeudi">Jeu</th><th abbr="Vendredi">Ven</th><th abbr="Samedi">Sam</th></tr></thead>

Mais par contre qu'entend tu par les element parents.