Народ, помогите подкоректировать новичку пабличный код календаря
Свернутый текст
// Вычисляем число дней в текущем месяце
$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>";
Потрібно першим днем неділі зробити понеділок. І зверху підписи пон, вів, сер, чет, пт, суб, нед.
Нужен первый день понедельник вместо воскресенья. И вверху подписи названий дней (пн,вт,ср,чт итд).
Буду вдячний.
Заранее спасибо.
[MOD]Здесь русскоязычный форум. Писать на украинском и переводить на русский не нужно! Достаточно просто на русском писать!
<a href='http://phpforum.ru/index.php?act=boardrules'>П 2.4.a</a>Winston[/EX]
Winston, в правилах я не увидел прямого запрета для использования других языков, так что разжигание межнациональной розни зря ВЫ проводите. Буду писать на таком языке на каком захочу, если не будет прямого запрета в правилах.
Спустя 2 часа, 51 минута, 51 секунда (30.08.2011 - 21:19) Lightt написал(а):
Названия проставил, а на счет понедельника что то не очень врубился о_О Вроде и так первый стоит...
<?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;
}
?>
<table border=1>
<tr>
<td width=20>пн</td>
<td width=20>вт</td>
<td width=20>ср</td>
<td width=20>чт</td>
<td width=20>пт</td>
<td width=20>сб</td>
<td width=20>вс</td>
</tr>
</table>
<?php
// 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 width=20><font color=red>".$week[$i][$j]."</font></td>";
else echo "<td width=20>".$week[$i][$j]."</td>";
}
else echo "<td> </td>";
}
echo "</tr>";
}
echo "</table>";
?>
Спустя 15 часов, 17 минут, 25 секунд (31.08.2011 - 12:36) Skyuoker написал(а):
Lightt, нет, там воскресенье первій день недели.
Ні, там неділя перший день неділі.
Ні, там неділя перший день неділі.
Спустя 3 минуты, 55 секунд (31.08.2011 - 12:40) GET написал(а):
Skyuoker
а по русски нельзя писать что-ли...http://phpforum.ru, а не ua
а по русски нельзя писать что-ли...http://phpforum.ru, а не ua
Спустя 2 минуты, 22 секунды (31.08.2011 - 12:43) linker написал(а):
Это за бугром у иносранцев воскресенье - первый день недели, а данный код это исправляет
$dayofweek = $dayofweek - 1;где ты увидел, что не понедельник в начале, я не понимаю.
if($dayofweek == -1) $dayofweek = 6;
Спустя 5 минут, 6 секунд (31.08.2011 - 12:48) Skyuoker написал(а):
A.B.C. ...... Если Вы не заметили я и так пишу по-рускі. И это при том что его у нас НЕ УЧАТ. Это я проявляю вежливость просто.
linker спасибо, походу это то что надо. Благадарен.
Всем спасибо дякую
linker спасибо, походу это то что надо. Благадарен.
Всем спасибо дякую

_____________
Сучасний українець з європейськими цінностями та традиціями.