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

HTML+CSS+JavaScript

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Выделение нужной ячейки
 
 автор: DiMoN_TD   (08.01.2008 в 19:18)   письмо автору
 
 

Всем привет!
Я взял за основу календарь по этой ссылке http://www.softtime.ru/scripts/calendar.php


 <?php
  
// Вычисляем число дней в текущем месяце
  
$dayofmonth date('t');
  
// Счётчик для дней месяца
  
$day_count 1;

  
// 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 border=1>";
  for(
$i 0$i count($week); $i++)
  {
    echo 
"<tr>";
    for(
$j 0$j 7$j++)
    {
      if(!empty(
$week[$i][$j]))
      {
        
// Если имеем дело с субботой и воскресенья
        // подсвечиваем их
        
if($j == || $j == 6
             echo 
"<td><font color=red>".$week[$i][$j]."</font></td>";
        else echo 
"<td>".$week[$i][$j]."</td>";
      }
      else echo 
"<td>&nbsp;</td>";
    }
    echo 
"</tr>";
  } 
  echo 
"</table>";
?>


Вот, я собственно из каждой цифры сделал ссылочку методом GET (нужно для показа архива за определённый день)...
Вот... но хочется так, чтобы в календаре отображалась та ячейка (т.е. как-то подсвечивалась), на которую я кликнул... т.е. грубо говоря нужно сделать так, чтобы отображался день (в самом календаре), за который я просматриваю архив... Можно ли это сделать с помощью JS или всё ж таки придётся мучаться с php???

Заранее спасибо!

   
 
 автор: sim5   (09.01.2008 в 06:44)   письмо автору
 
   для: DiMoN_TD   (08.01.2008 в 19:18)
 

Можно конечно. Ячейкам таблицы задать стиль, например, цвет фона по умолчанию белый, а текущий день слегка серым. Если щелкнуть по выбранной дате, то этой ячейке указывается новый стиль, который будет иметь, например, и цветной бордюр. Короче, просто по клику на ячейке, вызывается функция которая будет изменять стиль ячейки, а уж в стилях можно фонтазировать...

   
 
 автор: DiMoN_TD   (09.01.2008 в 14:07)   письмо автору
 
   для: sim5   (09.01.2008 в 06:44)
 

А можно эту функцию в примере отобразить?? Буду очень благодарен! )))

   
Rambler's Top100
вверх

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