Page 1 sur 1

mise en forme d un code en php avec css

Posté : 20 juil. 2009, 14:22
par zyrius
bonjour


je viens de récupere un calendrier tout bete tt simple et je souhaiterais le mettre en forme grace au css, j ai suivi un tuto sur developpez mais cela ne fonctionne pas .voici un morceau du code.
j ai bien sur crée le fichier calendrier.css :lol:
<html>
<head>
<style type="text/css" href="calendrier.css">

</style>

 </head>
<body>

<?php
//Creating general vars
$year = date("Y");
if(!isset($_GET['month'])) $monthnb = date("n");
else {
    $monthnb = $_GET['month'];
    $year = $_GET['year'];
    if($monthnb <= 0) {
        $monthnb = 12;
        $year = $year - 1;
    }
    elseif($monthnb > 12) {
        $monthnb = 1;
        $year = $year + 1;
    }
}
$day = date("w");
$nbdays = date("t", mktime(0,0,0,$monthnb,1,$year));
$firstday = date("w",mktime(0,0,0,$monthnb,1,$year));


calendrier.css
<style>
/* Feuille de style pour Calendrier */
         body { background-color: #CCCCCC; }
<style>

Posté : 20 juil. 2009, 14:53
par Stef
hello,

qu'est-ce qui ne marche pas avec ton css?

en tous cas pour l'instant ton ccs ne détermine qu'une chose: la couleur du fond de page (qui est #CCCCCC)...

Posté : 20 juil. 2009, 15:19
par zyrius
se qui ne marche pas c'est qu il affiche rien du tt .
voici le code en entier au cas ou
<html>
<head>

<link rel="stylesheet" type="text/css" href="calendrier.css">

</head>
<body>

<?php
//Creating general vars
$year = date("Y");
if(!isset($_GET['month'])) $monthnb = date("n");
else {
    $monthnb = $_GET['month'];
    $year = $_GET['year'];
    if($monthnb <= 0) {
        $monthnb = 12;
        $year = $year - 1;
    }
    elseif($monthnb > 12) {
        $monthnb = 1;
        $year = $year + 1;
    }
}
$day = date("w");
$nbdays = date("t", mktime(0,0,0,$monthnb,1,$year));
$firstday = date("w",mktime(0,0,0,$monthnb,1,$year));

//jour de la semaine
$daytab[1] = 'Lundi';
$daytab[2] = 'Mardi';
$daytab[3] = 'Mercredi';
$daytab[4] = 'Jeudi';
$daytab[5] = 'Vendredi';
$daytab[6] = 'Samedi';
$daytab[7] = 'Dimanche';

//construction de la table du calendrier
$calendar = array();
$z = (int)$firstday;
if($z == 0) $z =7;
for($i = 1; $i <= ($nbdays/5); $i++){
    for($j = 1; $j <= 7 && $j-$z+1+(($i*7)-7) <= $nbdays; $j++){
        if($j < $z && ($j-$z+1+(($i*7)-7)) <= 0){
                $calendar[$i][$j] = null;
        }
        else {
            $calendar[$i][$j] = $j-$z+1+(($i*7)-7);            
        }
    }
}

//les mois de l'annee
switch($monthnb) {
    case 1: $month = 'Janvier'; break;
    case 2: $month = 'Fevrier'; break;
    case 3: $month = 'Mars'; break;
    case 4: $month = 'Avril'; break;
    case 5: $month = 'Mai'; break;
    case 6: $month = 'Juin'; break;
    case 7: $month = 'Juillet'; break;
    case 8: $month = 'Aout'; break;
    case 9: $month = 'Septembre';break;
    case 10: $month = 'Octobre'; break;
    case 11: $month = 'Novembre';break;
    case 12: $month = 'Décembre';break;
}
?>
<div id="calendrier">
    <table border="0">
        <tr>
            <th><span class="linkcal"></span><a href="month=<?php echo $monthnb - 1; ?>&year=<?php echo $year; ?>"><<</a></span></th>
            <th colspan="5" class="headcal"><?php echo($month.' '.$year);  ?></th>
            <th><span class="linkcal"><a href="calendrier.inc.php?month=<?php echo $monthnb + 1; ?>&year=<?php echo $year; ?>">>></a></span></th>
        </tr>
        <?php
            echo('<tr>');
            for($i = 1; $i <= 7; $i++){
                echo('<th>'.$daytab[$i].'</th>');
            }
            echo('</tr>');
            for($i = 1; $i <= count($calendar); $i++) {
                echo('<tr>');
                for($j = 1; $j <= 7 && $j-$z+1+(($i*7)-7) <= $nbdays; $j++){
                    if($j-$z+1+(($i*7)-7) == date("j") && $monthnb == date("n") && $year == date("Y")) echo('<th class="current">'.$calendar[$i][$j].'</th>');
                    else echo('<th>'.$calendar[$i][$j].'</th>');
                }
                echo('</tr>');
            }
        ?>
    </table>
 </div>

</body></html>
[/php]

Posté : 20 juil. 2009, 16:36
par Ryle
Pour inclure ton fichier css, il faut utiliser la balise <link> et non pas <style> comme dans ton premier code source. Il ne faut pas non plus inclure les balises <style></style> dans le fichier css ;)

Maintenant, cela ne fera effectivement que mettre le fond de la page en gris, et n'affichera rien de plus ou de moins...

Posté : 20 juil. 2009, 16:39
par zyrius
merci beaucoup depuis tt à l'heure je réfléchissait dessus :lol: :lol:

Posté : 20 juil. 2009, 17:18
par zyrius
une derniere question je cherche a afficher la date du jour en haut a droite du rectangle car pour le moment il se trouve etre en plein milieu.

encore merci

Posté : 20 juil. 2009, 19:59
par Ryle
Première étape, repérer ta date. Comme j'ai pas trouvé de date du jour, je suppose que c'est le mois/année dont tu parles, et celui-ci se trouve ici :
<th colspan="5" class="headcal"><?php echo($month.' '.$year);  ?></th>
A partir de là, tu peux utiliser la classe css "headcal" pour redéfinir l'affichage dans cette cellule du tableau (avec par exemple un text-align:right et un vertical-align:top)