Срок хранения объявления?

Тема в разделе "NetCat", создана пользователем rocketru, 25 фев 2011.

  1. rocketru

    rocketru Создатель

    Регистр.:
    10 мар 2008
    Сообщения:
    29
    Симпатии:
    9
    Как можно реализовать: срок хранения объявления?
    т.е. пользователь выбирает из списка время жизни его объявления (1 неделя, 1 месяц, полгода и так далее) и по окончанию срока объявление становится со статусов выключено.
     
  2. stasdre

    stasdre Постоялец

    Регистр.:
    15 янв 2010
    Сообщения:
    125
    Симпатии:
    18
    Можно Cron для этих целей использовать
     
  3. rocketru

    rocketru Создатель

    Регистр.:
    10 мар 2008
    Сообщения:
    29
    Симпатии:
    9
    Cron это хорошо когда будем сравнивать сегодняшнюю дату с датой конца жизни объявления.
    а как прибавить например неделю к сегодняшней дате или месяц ?
     
  4. stasdre

    stasdre Постоялец

    Регистр.:
    15 янв 2010
    Сообщения:
    125
    Симпатии:
    18
    В PHP есть замечательная функция strtotime, которая приводит время в количество секунд пройденных с 1970г. прибавляешь к ней количество секунд в недели и получаешь конечный срок хранения.

    P.S. http://php.su/functions/?cat=datetime тут про работу с датами все написано :)
     
  5. rocketru

    rocketru Создатель

    Регистр.:
    10 мар 2008
    Сообщения:
    29
    Симпатии:
    9
    сделал так:
    PHP:
    $f_date  =   date("Y-m-d 00:00:00"mktime(000date('m'), date('j')+$f_daydobdate('Y')));
    где $f_daydob число дней хранения объявления,
    все хорошо выводится дата как нужно, а как ее записать в БД? например в поле dataend (формат поля типа дата)
     
  6. stasdre

    stasdre Постоялец

    Регистр.:
    15 янв 2010
    Сообщения:
    125
    Симпатии:
    18
    Чтобы записать используй альтернативную форму добавления. Создай поле в компоненте типа дата и скрытым полем отправляй туда свою дату
     
  7. rocketru

    rocketru Создатель

    Регистр.:
    10 мар 2008
    Сообщения:
    29
    Симпатии:
    9
    Еще вариант предложили:
    Выборка активных объявлений
    PHP:
    $query_where "DATE_ADD(`a`.`Created`, INTERVAL `a`.`days` DAY) < '".date('Y-m-d')."'";
    days - кол-во дней хранения
    и через крон запускать скрипт, ну скажем каждую неделю, удалять записи-> дата создания + макс интервал хранения