Перейти к содержимому

Реферальная программа Мегаплана

Партнерская программа Kredov

Публикация поста на определенный срок

#1 Kdes70

Kdes70
  • Пользователь
  • 55 сообщений
  • Репутация: 0
0

Отправлено 14 Июнь 2012 - 22:42

Здравствуйте !! нужна помощь хочу реализовать на сайте вот такую задачу, при добавлении поста он публиковался на определенное время по истечению этого времени он снимался с публикации, но не удалялся и по желанию его можно было вывести вновь на время
объясните как это реализовать???)))
как я себе это представляю в БД в таблице с данными поста надо добавить поле ENUM '1'-'0'
и в услоаиях 1) показывать, 0) показывать но как с временем это связать не знаю ((((

Помогите чем можете плиз!!!

 

 

  • 0

#2 Symphony

Symphony
  • Пользователь
  • 636 сообщений
  • Репутация: 54

Отправлено 15 Июнь 2012 - 09:44

еще одно поле "end_date", потом сравниваешь сегодняшнюю дату с end_date если равны, то меняешь видимость поста 1 на 0.
  • 0


#3 Kdes70

Kdes70
    Topic Starter
  • Пользователь
  • 55 сообщений
  • Репутация: 0

Отправлено 15 Июнь 2012 - 13:28

а как записать в поле "end_date" динамически дату которая ровнялась бы 30 днем от даты добавления??
вот к примеру у меня есть вот такой запрос где в поле "date" записывается время создание поста с помощью NOW()
а вот как вставить дату end_date??
$insert = mysql_query ("INSERT INTO bord (cat_id,title,user_name,id_user,text,img_mini,img1,img2,img3,end_date,date)
VALUES ('$cat','$title','$user','$author','$editor_data','$filename','$img1','$img2','$img3','$end_date',NOW())");

  • 0

#4 Symphony

Symphony
  • Пользователь
  • 636 сообщений
  • Репутация: 54

Отправлено 15 Июнь 2012 - 13:34

к времени размещения прибавь 30 дней и запиши в end_date (в енд_дайт должна быть конечная дата если сегодня 15 июня, то end_date должно содержать 15 июля)
  • 0


#5 Kdes70

Kdes70
    Topic Starter
  • Пользователь
  • 55 сообщений
  • Репутация: 0

Отправлено 15 Июнь 2012 - 13:47

это я понял))) а вот как time() в поле записать с типом DATETIME не знаю чтобы получилась корректная дата ?? вот нашел скрипт который задает интервал http://phpclub.ru/de...icle/date_stuff вот с помощью его получил дату +30дней но на выходе число в секундах как записать в поле end_date
с типом DATETIME ???
  • 0

#6 Symphony

Symphony
  • Пользователь
  • 636 сообщений
  • Репутация: 54

Отправлено 15 Июнь 2012 - 14:06

$ebuchiesekundy - секунды
date("y.m.d H:i:s",$ebuchiesekundy);
  • 0


#7 Kdes70

Kdes70
    Topic Starter
  • Пользователь
  • 55 сообщений
  • Репутация: 0

Отправлено 15 Июнь 2012 - 14:21

не записывает (((

вот в дате добавления пишет во в током формате 2012-06-14 23:40:05, а end_date 0000-00-00 00:00:00
  • 0

#8 Symphony

Symphony
  • Пользователь
  • 636 сообщений
  • Репутация: 54

Отправлено 15 Июнь 2012 - 14:24

напиши сколько секунд у тебя сейчас
  • 1


#9 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 15 Июнь 2012 - 14:38

Что за извращения? Зачем переносить в PHP то, с чем как минимум не хуже справится и сервер БД? Читаем документацию по работе с функциями даты и времени в MySQL.
Ну и запрос примерно такой:
INSERT INTO `tbl_name` (`date`, `end_date`) VALUES (NOW(), NOW() + INTERVAL 30 DAY);

  • 1


#10 Kdes70

Kdes70
    Topic Starter
  • Пользователь
  • 55 сообщений
  • Репутация: 0

Отправлено 15 Июнь 2012 - 14:53

вот секунды 1342363358

matroskin8, Спасибо огромное!!!

вот теперь бы с запросом на видимость разобраться


  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru