Календарь с четной и нечетной неделями

  • Автор темы Ivannefedov
  • Дата начала
Статус
Закрыто для дальнейших ответов.
I

Ivannefedov

#1
В общем нужно сделать календарь, в котором отмечалось бы двумя цветами четная и нечетная неделя. Как это сделать?
 

vital

Больной Компом Детектед
29.01.2006
2 432
33
#2
Руками? Определить где четная неделя и выделить.
 
M

Magistr

#3
скачай готовый, и доработай.
PHP:
if(is_float(date("w")/2)){

}
где-то так
 
I

Ivannefedov

#4
Я в кодировании вообще не бычу. Если можно, подробнее пожалуйста.

Что здесь нужно дописать/исправить?

PHP:
<?php

// Вычисляем число дней в текущем месяце

$dayofmonth = date('t');

// Счётчик для дней месяца

$day_count = 1;



// 1. Первая неделя

$num = 0;

for($i = 0; $i < 7; $i++)

{

// Вычисляем номер дня недели для числа

$dayofweek = date('w',

mktime(0, 0, 0, date('m'), $day_count, date('Y')));

// Приводим к числа к формату 1 - понедельник, ..., 6 - суббота

$dayofweek = $dayofweek - 1;

if($dayofweek == -1) $dayofweek = 6;



if($dayofweek == $i)

{

// Если дни недели совпадают,

// заполняем массив $week

// числами месяца

$week[$num][$i] = $day_count;

$day_count++;

}

else

{

$week[$num][$i] = "";

}

}



// 2. Последующие недели месяца

while(true)

{

$num++;

for($i = 0; $i < 7; $i++)

{

$week[$num][$i] = $day_count;

$day_count++;

// Если достигли конца месяца - выходим

// из цикла

if($day_count > $dayofmonth) break;

}

// Если достигли конца месяца - выходим

// из цикла

if($day_count > $dayofmonth) break;

}



// 3. Выводим содержимое массива $week

// в виде календаря

// Выводим таблицу

echo "<table border=1>";

for($i = 0; $i < count($week); $i++)

{

echo "<tr>";

for($j = 0; $j < 7; $j++)

{

if(!empty($week[$i][$j]))

{

// Если имеем дело с субботой и воскресенья

// подсвечиваем их

if($j == 5 || $j == 6) 

echo "<td><font color=red>".$week[$i][$j]."</font></td>";

else echo "<td>".$week[$i][$j]."</td>";

}

else echo "<td></td>";

}

echo "</tr>";

} 

echo "</table>";

?>
 
Статус
Закрыто для дальнейших ответов.