Создать игру, создание игр, конструктора игр, игровые движки, разработка игр, сделать игру
Приветствую Вас Гость · Вход · Регистрация  ·  Новые сообщения · Участники · Правила · Поиск · RSS
  • Страница 1 из 1
  • 1
Форум разработчиков игр » Для Веб-мастера » Скрипты PHP » Календарь на любой год
Календарь на любой год
Hagrael Дата: Понедельник, 05.07.2010, 05:53 | Сообщение # 1
Просмотр профиля: Hagrael

Сообщений: [1475]
Вот календарь на все года (выше 1901). Делал его сам.

Code
<html>

<head>

<!--STYLE BLOCK-->
<style type="text/css">
table.table td {color: green; font-weight: bold;}
table.table th {font-size: 1.2em;}
table.table {border-color: green; position: relative; top: 100px;}
</style>
   <title>Календарь</title>
</head>

<!--BODY START-->
<body marginwidth="0" marginheight="0">
<table border="1" class="table" align="center">

<!--SCRIPT-->
<?php

//Календарь на все года жизни
//Временная переменная, обозначающая кол-во дней
$div=0;
$needyear=2010;

if ($needyear>1901) {

echo "<center><span style='position: relative; top: 50px; font-weight: bold; color: green; font-size: 5em;'>$needyear</span></center>";

//Сколько дней прибавить (прибавляется к переменной $div)
for ($e=1901; $e<=$needyear; $e++) {
settype($help1,"integer");
settype($help2,"integer");
$help1=($e-1)/4;
$help2=($e-1)/100;
$help5=($e-1)/1000;
if ((gettype($help1)=="integer" and gettype($help2)!="integer") or (gettype($help5)=="integer")) {$div+=2;} else {$div+=1;}
}

$stday=$div+1;
while ($stday>7) {$stday-=7;}

//Високоснитизация
$help3=$needyear/4;
$help4=$needyear/100;
$help6=$needyear/1000;
if ((gettype($help3)=="integer" and gettype($help4)!="integer") or (gettype($help6)=="integer")) {$yeartype="visocos";}
else {$yeartype="normal";}

//Объявление переменных, високосный год или нет, с какого дня недели начинается год
$monthnumber=1;

//Массив названий дней недели
$massiv[7];
$massiv[1]="Пон"; $massiv[2]="Вт"; $massiv[3]="Ср"; $massiv[4]="Чт"; $massiv[5]="Пт";
$massiv[6]="Сб"; $massiv[7]="Вс";

//Массив названий месяцев
$month[12];
$month[1]="Январь"; $month[2]="Февраль"; $month[3]="Март"; $month[4]="Апрель";
$month[5]="Май"; $month[6]="Июнь"; $month[7]="Июль"; $month[8]="Август";
$month[9]="Сентябрь"; $month[10]="Октябрь"; $month[11]="Ноябрь"; $month[12]="Декабрь";

//Массив, показывающий, сколько дней недели надо прибавить после завершения различных месяцев
$kolvo[12];
$kolvo[1]=3;
if ($yeartype=="normal") {$kolvo[2]=0;} else {$kolvo[2]=1;}
$kolvo[3]=3; $kolvo[4]=2; $kolvo[5]=3; $kolvo[6]=2; $kolvo[7]=3; $kolvo[8]=3;
$kolvo[9]=2; $kolvo[10]=3; $kolvo[11]=2; $kolvo[12]=3;

//Главный цикл (полугодия)
for ($i=1; $i<=2; $i++) {
  echo "<tr>";

//Цикл месяцев
  for ($k=1; $k<=6; $k++) {
   echo "<td><table><th>";

   //Различные цвета месяцев и их вывод на экран
   if ($monthnumber<=2 or $monthnumber==12) {echo "<div style='color:#2E8BFE'>";}
   if ($monthnumber>2 and $monthnumber<=5) {echo "<div style='color:#91D520'>";}
   if ($monthnumber>5 and $monthnumber<=8) {echo "<div style='color:#EEC215'>";}
   if ($monthnumber>8 and $monthnumber<=11) {echo "<div style='    color:#C1B56A'>";}
   echo "$month[$monthnumber]</div></th>";

   //Цикл, отвечающий за недели
    for ($l=1; $l<=7; $l++) {

     //Вывод дня недели
     echo "<tr><td>";
     if ($l<7) {echo "<font color='#DA9F05'>";} else {echo "<font color='#DF0500'>";}
     echo "$massiv[$l]</font></td>";
     $date=$l-$stday+1;
     //ЦИКЛ, ОТВЕЧАЮЩИЙ ЗА ДНИ!!!
     for ($day=1; $day<=6; $day++) {

      //Смена цвета воскресений

      //Вывод даты при разных месяцах
      if (($date<=31) and ($monthnumber==1 or $monthnumber==3 or $monthnumber==5 or $monthnumber==7 or $monthnumber==8 or $monthnumber==10 or $monthnumber==12)) {
        if ($l<7) {
         if ($date>0) {
          if (($date==1 and $monthnumber==1) or ($date==8 and $monthnumber==3)) {
          echo "<td><font color='#DF0500'>$date</font>";
          } else {
          echo "<td>$date</td>";}
          }
         if ($date<=0) {echo "<td> </td>";}
        } else {
         if ($date>0) {echo "<td><font color='#DF0500'>$date</font></td>";}
         if ($date<=0) {echo "<td> </td>";}
        }
       }
      if ($monthnumber==2) {
       if (($yeartype=="normal" and $date<=28) or ($yeartype=="visocos" and $date<=29)) {
        if ($l<7) {
         if ($date>0) {
          if ($date==23 and $monthnumber==2) {echo "<td><font color='#DF0500'>$date</font></td>";} else {
                              echo "<td>$date</td>";
                              }
          }
         if ($date<=0) {echo "<td> </td>";}
        } else {
         if ($date>0) {echo "<td><font color='#DF0500'>$date</font></td>";}
         if ($date<=0) {echo "<td> </td>";}
        }
       }
      }
      if (($date<=30) and ($monthnumber==4 or $monthnumber==6 or $monthnumber==9 or $monthnumber==11)) {
       if ($l<7) {
         if ($date>0) {
          if ($date==1 and $monthnumber==6) {echo "<td><font color='#DF0500'>$date</font></td>";} else {echo "<td>$date</td>";}
          }
         if ($date<=0) {echo "<td> </td>";}
        } else {
         if ($date>0) {echo "<td><font color='#DF0500'>$date</font></td>";}
         if ($date<=0) {echo "<td> </td>";}
        }
      }

                 $date+=7;

                 }
     echo "</td></tr>";
    }
   echo "</table></td>";

   //Увеличение переменных по окончанию месяца
   $stday+=$kolvo[$monthnumber];
   if ($stday>7) {$stday-=7;}
   $monthnumber+=1;
  }
  echo "</tr>";
}

}

?>
</table>

<!--END-->
</body>

</html>


George & Daniel:
Война сухофруктов
PaintKiller Дата: Понедельник, 05.07.2010, 08:13 | Сообщение # 2
Просмотр профиля: PaintKiller

Сообщений: [1738]
Ого! Круто!
_JOKER_ Дата: Понедельник, 05.07.2010, 12:11 | Сообщение # 3
Просмотр профиля: _JOKER_

Сообщений: [456]
Hagrael8654, прикольно, сам додумался?

я под своим нормальным акком))
Hagrael Дата: Понедельник, 05.07.2010, 18:11 | Сообщение # 4
Просмотр профиля: Hagrael

Сообщений: [1475]
_JOKER_, да, делал сам. Совсем немного помог отец.

George & Daniel:
Война сухофруктов
TASKET Дата: Понедельник, 05.07.2010, 18:58 | Сообщение # 5
Просмотр профиля: TASKET

Сообщений: [452]
Хм... и что моно сделать календарь на 9999999999999999999999999999999999E9999999999999999999999 год? cool

Халява для стима http://steam-free-games.com/index.php?id=546453
Hagrael Дата: Вторник, 06.07.2010, 06:50 | Сообщение # 6
Просмотр профиля: Hagrael

Сообщений: [1475]
Да! Но только если потом не передвинут понедельник и вторник и т. д. Он генерирует календари на все года, но не ниже 1902 (потому что только в 1901 1 января был вторник по новому стилю, до этого ничего не известно... по крайней мере мне).

George & Daniel:
Война сухофруктов
_JOKER_ Дата: Вторник, 06.07.2010, 22:31 | Сообщение # 7
Просмотр профиля: _JOKER_

Сообщений: [456]
Hagrael8654, тогда круто!

я под своим нормальным акком))
Скорп Дата: Среда, 07.07.2010, 13:12 | Сообщение # 8
( Разлагаюсь )
Просмотр профиля: Скорп

Сообщений: [936]
Круто)

Рандомный текст.
ДядяВолк Дата: Среда, 07.07.2010, 13:14 | Сообщение # 9


Сообщений: [1451]
Круть) cool
Hagrael8654, круто, ты PHP знаешь? wink
Hagrael Дата: Среда, 07.07.2010, 14:31 | Сообщение # 10
Просмотр профиля: Hagrael

Сообщений: [1475]
nazarbek-GAMER, учу.

George & Daniel:
Война сухофруктов
ДядяВолк Дата: Среда, 07.07.2010, 14:33 | Сообщение # 11


Сообщений: [1451]
Good! +
Hagrael Дата: Четверг, 08.07.2010, 11:44 | Сообщение # 12
Просмотр профиля: Hagrael

Сообщений: [1475]
Вот ссылка на скачивание того, что в итоге вы видите:
URL


George & Daniel:
Война сухофруктов
ExLifer Дата: Среда, 09.02.2011, 13:36 | Сообщение # 13
Просмотр профиля: ExLifer

Сообщений: [49]
Код ужасен, все в кучу, море лишних операций!
Hagrael Дата: Среда, 09.02.2011, 13:47 | Сообщение # 14
Просмотр профиля: Hagrael

Сообщений: [1475]
cougraAcc, предложи лучше biggrin А ваще я его писал после 2-го или 3-го занятия на курсах PHP, так что по-любэ простительно =)

George & Daniel:
Война сухофруктов
Форум разработчиков игр » Для Веб-мастера » Скрипты PHP » Календарь на любой год
  • Страница 1 из 1
  • 1
Поиск:

При полном или частичном копировании материалов сайта ссылка на Make-Games.ru обязательна. Make-Games.ru © 2008 - 2024 Хостинг от uCoz
Топ Разработка игр