как сделать выделение ячейки таблицы в зависимости от даты?

Тема в разделе "Верстка", создана пользователем iskif, 30 мар 2013.

Информация :
Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с Правилами раздела и Правилами форума
Для быстрого поиска ответов на ваши вопросы воспользуйтесь Картой раздела и/или Поиском по разделу
Модераторы: ultra
  1. iskif

    iskif

    Регистр.:
    21 авг 2006
    Сообщения:
    325
    Симпатии:
    35
    все, наверное, видели офф-лайновую версию 2gis. Вот там в табличке "часы работы" ячейка, соответствующая сегодняшней дате, вернее, дню недели, закрашена другим цветом.
    как такое сделать на сайте и, желательно, не очень "тяжёлыми" средствами? Не обязательно цветом, можно просто другим\жирным шрифтом. Но как-нибудь выделить среди остальных.
     
  2. kabasik

    kabasik Полиционер

    Регистр.:
    15 мар 2012
    Сообщения:
    223
    Симпатии:
    68
    for ($таблица)
    {
    $style = (текущая дата) ? " style='(цвет фона и тп)'" : '';
    echo '<tr'.$style.'>';
    {
    что то типа этого
     
  3. Ведун

    Ведун Постоялец

    Регистр.:
    21 авг 2008
    Сообщения:
    65
    Симпатии:
    33
    Я бы сделал немного по другому. Если ячейка содержит дату, то можно сравнивать её с текущей датой на сервере, либо на компе пользователя, и если они равны, подчеркивать/выделять требуемое.

    Например так:

    if ($date_iz_td == date(d)) {echo 'style="стили"'}
     
  4. nethare

    nethare Постоялец

    Регистр.:
    27 окт 2012
    Сообщения:
    104
    Симпатии:
    30
    Ячейка скорее всего содержит только число текущей даты. Если пользователю выводится только один текущий месяц,можно сравнивать только текущее число:

    PHP:
    <table>
    НАЧАЛО_ЦИКЛА_ВЫВОДА_КАЛЕНДАРЯ (for,while, foreach)
    ...
    <
    td
    if ($day == date('d')) {
      echo 
    " style='font-weight:700;' ";
    }
     
    >
    //$day - переменная с значением ячейки
     
     
    </td>
    ...
    КОНЕЦ_ЦИКЛА_ВЫВОДА_КАЛЕНДАРЯ
    </table>
    ТС, для начала скажите, у вас календарь выводится текстом на php или это яваскриптовая штука? Покажите исходники вашего календаря.

    В любом случае общее решение - сравнивать в цикле значение каждой ячейки с текущей датой (числом, днем) и добавлять стиль/класс.


    P.S.
    date в качестве формата принимает строку: date('d');
     
  5. iskif

    iskif

    Регистр.:
    21 авг 2006
    Сообщения:
    325
    Симпатии:
    35
    я, похоже, некорректно обозначил тему
    хоть я там и уточнил, что не с датой сравнивать, а с днём недели
    календарь это не php и не ява-скрипт, это просто таблица с часами работы организации, для удобства восприятия хотел выделить текущий день недели цветом фона ячеек
     
  6. Ведун

    Ведун Постоялец

    Регистр.:
    21 авг 2008
    Сообщения:
    65
    Симпатии:
    33
    О, ну так и надо было сказать. Проверяйте какой сейчас день недели и присваивайте стиль.

    PHP:
    <table>
    <tr>
    <td <?php if (date('N')=='1') {echo 'style="background:#bebebe"';} ?>>Понедельник</td>
    <td <?php if (date('N')=='2') {echo 'style="background:#bebebe"';} ?>>Вторник</td>
    <td <?php if (date('N')=='3') {echo 'style="background:#bebebe"';} ?>>Среда</td>
    <td <?php if (date('N')=='4') {echo 'style="background:#bebebe"';} ?>>Четверг</td>
    <td <?php if (date('N')=='5') {echo 'style="background:#bebebe"';} ?>>Пятница</td>
    <td <?php if (date('N')=='6') {echo 'style="background:#bebebe"';} ?>>Суббота</td>
    <td <?php if (date('N')=='7') {echo 'style="background:#bebebe"';} ?>>Воскресенье</td>
    </tr>
    </table>
     
  7. nevergoinside

    nevergoinside Писатель

    Регистр.:
    29 сен 2011
    Сообщения:
    5
    Симпатии:
    0
    Хочу добавить, если php ниже версии 5.1 - используйте date('w');