CALENDRIER-RESERVATION SQL

xxiv Messages postés 29 Date d'inscription mardi 16 septembre 2008 Statut Membre Dernière intervention 4 novembre 2010 - 15 févr. 2009 à 15:48
xxiv Messages postés 29 Date d'inscription mardi 16 septembre 2008 Statut Membre Dernière intervention 4 novembre 2010 - 15 févr. 2009 à 16:21
Bonjour

j'ai repris ce code ---> http://www.phpcs.com/codes/CALENDRIER-RESERVATION-PHP-MYSQL_40895.aspx

et j'aimerais pouvoir appliquer plusieurs style css en fonction du champs 'quand' que j'ai rajouté dans la table sql  'calendrier'

le seul problème est qu'il ne garde que la valeur du dernier élément de la table.

LE CODE
$requete mysql_query("SELECT jour,quand FROM calendrier WHERE YEAR(jour) $an    AND MONTH(jour) = $mois");
while ($ligne = mysql_fetch_array($requete)){
    // recupartion du jour ou il y a la reservation
    $jours = $ligne[0];
    $quand = $ligne[1];
    // transforme aaaa/mm/jj en jj
    $jour_reserve = (int)substr($jours, 8, 2);
    // insertion des jours reservé dans le tableau

    $tab_jours[$jour_reserve] = (bool)true;   
}
mysql_close($connect);

?>

    ----

                    <table width="381" border="0" cellpadding="0" cellspacing="0">
                ----

                 ,
<?php echo $mois_en_clair,\" \", $an; ?>
</td>
                                            &an=<?php echo $an_prec; ?>">
                     

                 ,
                                            &an=<?php echo $an_suivant; ?>">
                     

                                         
                 ,
               
         

      </td>
    </tr>
    <tr align="center" class="jours">
        <td width="60">Di</td>
        <td width="60">Lu</td>
        <td width="60">Ma</td>
        <td width="60">Me</td>
        <td width="60">Je</td>
        <td width="60">Ve</td>
        <td width="60">Sa</td>
    </tr>
</table>
<table align="center"  width="420" border="0" cellpadding="5" cellspacing="0"  class="tab_numero">
    <tr align="center">
<?
//Détection du 1er et dernier jour du moiS
$nombre_date = mktime(0,0,0, $mois, 1, $an);
$premier_jour = date('w', $nombre_date);
$dernier_jour = 28;
while (checkdate($mois, $dernier_jour + 1, $an))
    { $dernier_jour++;}

//Affichage de 7 jours du calendrier

for ($i = 0; $i < 7; $i++){
    if ($i < $premier_jour){
        echo '<td width="60"></td>';
    }else{
        $ce_jour = ($i+1) - $premier_jour;
        // si c'est un jour reserve on applique le style reserve
        if($tab_jours[$ce_jour]){
            echo "<td width="60" class="$quand" title="2" >";
        // sinon on ne met pas de style
        }else{
            echo '<td width="60">';
        }
        echo $ce_jour;
        echo '</td>';
    }
}

//affichage du reste du calendrier
$jour_suiv = ($i+1) - $premier_jour;
for ($rangee = 0; $rangee <= 4; $rangee++){
        echo '</tr>';
        echo '<tr align="center" class="numero">';
        for ($i = 0; $i < 7; $i++){
            if($jour_suiv > $dernier_jour){
                echo '<td width="60">';
                echo '</td>';
            }else{
                // si c'est un jour reserve on applique le style reserve
                if($tab_jours[$jour_suiv]){
                    echo "<td width="60" class="$quand" title="testttttt" >";
                // sinon on ne met pas de style
                }else{
                    echo '<td width="60">';
                }
                //echo $tab_jours[$jour_suiv];
                echo $jour_suiv;
                echo '</td>';
            }
            $jour_suiv++;
        }
}
?>

Si vous n'avez pas compris ma requête n'hésitez pas à poser des question.

Merci d'avance pour votre précieuse aide =)

1 réponse

xxiv Messages postés 29 Date d'inscription mardi 16 septembre 2008 Statut Membre Dernière intervention 4 novembre 2010
15 févr. 2009 à 16:21
Le champs 'quand' est de type 'set' il peut avoir Trois valeurs {'am,'pm','aandp'}
j'ai fais un test avec trois dates 25, 26, 27 respectivement am , pm, aandp

et il affiche les trois dates avec le même nom de class aandp

code css:

.pm {
    background-color: #ffdb3f;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color:#FFFFFF;
}

.am {
    background-color:#0099FF;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color:#FFFFFF;
}

.aandp {
    background-color: #45ff51;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color:#FFFFFF;
}
0