Bonjour, voilà mon souci.
Je souci afficher un calendrier sous la forme d'un tableau (en tout cas c'est le seul moyen assez facile, enfin si on veux) qui n'affiche que les dates du mois à partir de la date passé en paramètre de ma fonction php.
De plus, la première ligne de mon tableau correspond au jour de la semaine dans l'ordre L,M,M,J,V,S,D.
J'ai réussi à trouvé un algorithme qui fonctionne mais il fonctionne seulement pour le mois de Mai 2014

Connaissez-vous un moyen de réaliser cela.

Je vous montre ma fonction au cas il y aurait peu de choses à modifier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
function calendrier ($date)
{
    list($j, $m, $y)=explode('/', $date);
    $j = '01';$m = '05';$y = '2014';
    $tab = array ();
    $dlj = date('w', mktime(1, 1, 1, $m, 01,$y));echo $dlj;
    $nbj = cal_days_in_month(CAL_GREGORIAN, $m, $y);
    if($dlj == 0)
            $dlj = 7;
    $pos = $dlj - 1;
    $nbj_rest = $nbj - (7-$pos);
    $nbl = ceil($nbj_rest / 7) + 1;
    for($i = 0; $i<$nbl; $i++)
    {
        if($j < 7* ($i+1))
        {
            for($c = 0; $c<7; $c++)
            {
                if((((7* ($i+1)) - 9 + $c) <= $nbj) and ($c >= $pos))
                {
                    $tab [$i][$c] = (7* ($i+1)) - 9 + $c;
                    if($c == 6)
                        $pos = 0;
                    $jour = (7* ($i+1)) - 9 + $c;
                    if(strlen($jour) == 1)
                        $jour = "0".$jour;
                    $req = "SELECT jour FROM jours_feries WHERE jour = '$jour/$m/$y'";echo $req;
                    $res = mysql_query($req);
                    $donnees = mysql_fetch_assoc($res);
                    if($donnees != false)
                        $tab[$i][$c] = '';
                }
                else $tab[$i][$c] = ''; 
            }
        }
        else 
        {
                for($c = 0; $c<7; $c++)
                {
                        $tab[$i][$c] = '';
                }
        }
    }var_dump($tab);
    return $tab;
}