Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Помогите с календарем?

Сообщения:  [1-6] 

 
 автор: Ru   (06.04.2007 в 15:05)   письмо автору
 
   для: Front   (06.04.2007 в 12:49)
 

Исходя из статьи можно вот так:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">   
    <html>   
        <head>   
            <title>Календарь</title>   
            <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">   
        </head>   
    <body>   
<?php
  
// Вычисляем число дней в текущем месяце
  
$dayofmonth date('t');
  
// Счётчик для дней месяца
  
$day_count 1;
    
$daysarray=array("Понефторник","Пн","Вт","Ср","Чт","Пт","Сб","Вс");//Массив дней недели   

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

    
$months=array("мартабрь","января",  
"февраля","марта","апреля","мая","июня",  
"июля","августа","сентября","октября",  
"ноября","декабря");//Массив месяцев    
  // 1. Первая неделя
  
$num 0;
  for(
$i 0$i 7$i++)
  {
    
// Вычисляем номер дня недели для числа
    
$dayofweek date('w'mktime(000date('m'), $day_countdate('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 bgcolor=\"#000000\" width=\"200\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\">\n\t<tr bgcolor=#cccccc align=\"center\">\n";
  
            for (
$i 1$i <= 7$i++) {   
                if(
$i>5){   
                    echo 
"\t\t<td><font color=\"#E4723A\">".$daysarray[$i]."</font></td>\n";   
                }else{   
                    echo 
"\t\t<td>".$daysarray[$i]."</td>\n";   
                }   
               }   
           echo 
"\t</tr>\n\t";   
           
  for(
$i 0$i count($week); $i++)
  {
    echo 
"<tr bgcolor=#ffffff align=\"center\">";
    for(
$j 0$j 7$j++)
    {
      if(!empty(
$week[$i][$j]))
      {
        
// Если имеем дело с субботой и воскресенья
        // подсвечиваем их
        
if($j == || $j == 6) {
             echo 
"<td><font color=\"#E4723A\">".$week[$i][$j]."</font></td>";
        } else {
            if (
$week[$i][$j] == date("j")) {
                echo 
"<td bgcolor=\"#FF8040\" align=\"center\">".$week[$i][$j]."</td>";
            } else {
                echo 
"<td>".$week[$i][$j]."</td>";
            }
        }
      }
      else echo 
"<td>&nbsp;</td>";
    }
    echo 
"</tr>";
  } 
  echo 
"</table>";

?>
</body>
</html>

   
 
 автор: Front   (06.04.2007 в 12:49)   письмо автору
 
   для: cheops   (06.04.2007 в 12:31)
 

Подскажите как сместить дату, мне именно этот скрипт нужен, с подсветкой даты!

   
 
 автор: cheops   (06.04.2007 в 12:31)   письмо автору
 
   для: Front   (06.04.2007 в 11:35)
 

У вас не смещается дата... ведь первый день месяца не всегда начинается с понедельника. Возможно вас заинтересует скрипт по ссылке http://www.softtime.ru/scripts/calendar.php.

   
 
 автор: Front   (06.04.2007 в 11:45)   письмо автору
 
   для: hin   (06.04.2007 в 11:42)
 

Нет на сервере хостера тоже самое, ошибка где то в скрипте!!

   
 
 автор: hin   (06.04.2007 в 11:42)   письмо автору
 
   для: Front   (06.04.2007 в 11:35)
 

Не в доваясь в код:)
А может неправельная дата на сервере(локалхосте)?

   
 
 автор: Front   (06.04.2007 в 11:35)   письмо автору
 
 

Всем доброго времени суток!
Помогите найти ошибку (при работе скрипта, выводит что сегодня суббота 6 число!):


<?php  

    $daysinmonth
=date("t");  //Число дней в месяце  

    
$weeks=$daysinmonth/7//Число недель в месяце  

    
$weeks=round($weeks,0);  //Округляем полученый результат  

    
$dayofweek=date("w"); // День недели 0 - воскресение, 6 - суббота  

    
$dayofmonth=date("j"); // День месяца  без нуля  

    
$dayofmonthlz=date("d"); // День месяца с ведущим нулем  

    
$monthlz=date("n"); // Номер месяца без нуля  

    
$monthdays=date("t"); // Колличество дней в месяце  

    
$daysarray=array("Понефторник","Пн","Вт","Ср","Чт","Пт","Сб","Вс");//Массив дней недели  

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

    
$months=array("мартабрь","января"
"февраля","марта","апреля","мая","июня"
"июля","августа","сентября","октября"
"ноября","декабря");//Массив месяцев  

    
$numberfirstday date("w",mktime(0,0,0,date("m"),1,date("Y"))); // Вычисляем каким будет первый день месяца по счету в неделе.  

    
?>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
    <html>  
        <head>  
            <title>Календарь</title>  
            <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">  
        </head>  
    <body>  
    <?  


       
echo "<table width=\"200\" border=\"0\" cellspacing=\"0\" cellpadding=\"5\">\n\t<tr>\n";  

       
// Для начала выводим дни недели  
            
for ($i 1$i <= 7$i++) {  
                if(
$i>5){  
                    echo 
"\t\t<td><font color=\"#E4723A\">".$daysarray[$i]."</font></td>\n";  
                }else{  
                    echo 
"\t\t<td>".$daysarray[$i]."</td>\n";  
                }  
               }  
           echo 
"\t</tr>\n\t<tr>\n";  

        
// Выводим пустые дни предыдущего месяца.  
            
$j 1;  
            while (
$j $numberfirstday) {  
               echo 
"\t\t<td> </td>\n";  
               
$j++;  
              }  



        
//Теперь выводим ВСЕ дни месяца.  

         
for ($i 1$i <= $monthdays$i++) {  

          if(
$i==$dayofmonth){  
    
#      echo "\t\t<td><a href=\"news/".date("Y")."/".date("m")."/".$i."/\"><b>".$i."</b></a></td>\n";  
           
echo "\t\t<td bgcolor=\"#FF8040\" align=\"center\"><b>".$i."</b></td>\n"// подсвечиваем сегоднящний день  
           
}else{  
   
#       echo "\t\t<td><a href=\"news/".date("Y")."/".date("m")."/".$i."/\">".$i."</a></td>\n";  
           
echo "\t\t<td align=\"center\">".$i."</td>\n";  
           }  

            
//Новая неделя  
               
if (round($j/7)-$j/7==0){  
                 echo 
"\t</tr>\n\t<tr>\n";  
            }  

            
$j++;  
          }  
         echo 
"\t</tr>\n</table>\n";  

?> 

   

Сообщения:  [1-6] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования