Alors voilà, je souhaite créer un calendrier (no soucy) mais avec dedans (sous les dates) les évènements qui se passent...
VOici mon code :
<?
//----------------------------------------------------------------//
// CALENDRIER //
//----------------------------------------------------------------//
//Connexion
$mysql_host = 'sql.free.fr'; // entrer votre hote ici
$mysql_user = '***'; // entrer votre login
$mysql_password = '***'; // entrer votre password
$mysql_base = '***'; // entrer le nom de votre base
$db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("erreur de connexion");
mysql_select_db($mysql_base,$db) or die ("erreur de connexion base");
//Requête pour les objets
$sql = "SELECT * FROM ph_objets";
$req = mysql_query($sql) or die("Erreur récup objets".mysql_error());
while( $contenu = mysql_fetch_array ($req))
{
// Fonction qui retourne le nom du mois passé en paramètre
function getMonth($month, $majuscule=false)
{
$mois = array('janvier','février','mars','avril','mai',
'juin','juillet','août','septembre','octobre','novembre','décembre' );
if ($majuscule) { return ucfirst($mois[($month-1)%12]); }
else { return $mois[($month-1)%12]; }
}
// Fonction qui retourne le nombre de jours du mois passé en paramètre
function getDaysNumber($month, $year)
{
return date("t", mktime(0,0,0,$month,1,$year));
}
// Fonction qui retourne le jour de la semaine (lundi=1, dimanche=7)
// du jour passé en paramètre
function getDayOfWeekNumber($day, $month, $year)
{
$n = date("w", mktime(0,0,0,$month,1,$year));
if ($n==0) { $n = 7; }
return $n;
}
function makeCalendar($month, $year)
{
// Si le nombre de mois est supérieur à 12,
// on incrémente l'année de 1 et on ajuste le nombre de mois
$year = (int)($year+($month-1)/12);
$month = ($month-1)%12+1;
// Affichage du mois et de l'année
$html_code = "<table>";
$html_code .= "<tr><th colspan=\"7\">";
$html_code .= getMonth($month,1) . " " . $year;
$html_code .= "</th></tr>";
// Indice servant à faire un retour à la ligne à la fin de chaque semaine
$x=0;
// Prochain jour du mois à placer
$j=1;
// On récupère le nombre de jours du mois
$daysNumber = getDaysNumber($month,$year);
// On récupère le jour de la semaine du premier jour du mois
$firstDayNumber = getDayOfWeekNumber(1,$month,$year);
while ($j<=$daysNumber)
{
if ($x%7==0) { echo "<tr>"; }
if ($j==1)
{
// On crée toutes les cases vides nécessaires
// pour placer le premier du mois au bon endroit
for ($i=1;$i<$firstDayNumber;$i++)
{
$html_code .= "<td> </td>";
$x++;
}
}
$html_code .= "<td";
// On change la couleur de fond de la case si le jour affiché
// est le jour courant
if (date("j.m.y")==date("j.m.y", mktime(0,0,0,$month,$j,$year)))
{ $html_code .= " style=\"background:red;\""; }
$html_code .= ">$j</td>";
$x++;
if ($x%7==0) { $html_code .= "</tr>"; }
$j++;
}
$html_code .= "</table>";
echo $html_code;
}
makeCalendar(date("m")+$i,date("Y"));
?>
Bon alors jusque la tout va bien seulement j'ai beau essayer j'arrive pas à intégrer mon code pour que si j'ai un évènement il s'affiche en dessous de la date...Quelqu'un saurait coment faire? ma table produits comprent id, nom, description, date (de vente)...
Merci d'avance