Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: php скрипт и cron  (Прочитано 1257 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн systempapa

  • Автор темы
  • Участник
  • *
  • Сообщений: 120
    • Просмотр профиля
php скрипт и cron
« : 17 Мая 2012, 19:46:30 »
взялся за первый скрипт. т.к более менее знаю php, то сразу такой вопрос, можно ли?

#!/bin/php
//Соединяемся к БД
$db = "DB_Name";
$link = mysql_pconnect (comp_name, root, passwd );
if ( !$link )
   die ("Невозможно подключение к MySQL");
mysql_select_db ( $db ) or die ("Невозможно открыть $db");

//Условие
declare @mydate datetime
set @mydate = GETDATE()-5

UPDATE FROM Table WHERE
UserDate = @mydate

и далее в cron заносим:

//в случае с PHP 5
0 1 * * * /usr/local/bin/php /home/uXXXXX/script.php

//в случае с PHP 4
0 1 * * * /usr/local/bin/php /home/uXXXXX/script.php

оно будет работать? или я сделал кучу ошибок?

Смысл такой: Есть База данных, есть таблица, в которую вносятся заявки, а так же дата создания заявки и ее статус.
Необходимо сделать условие, чтобы по истечению 5 дней заявка закрывалась, т.е статус менялся с 1 на 0.

я решил разбить данное действие на 2 части, мне так удобней.
1) Обработка события при отправке заявки с сайта: вносится дата создания заявки и статус ставится 1
2) Это собственно выше написанный скрипт лежащий на сервере,  который прогонял таблицу и смотрел, есть ли там просроченные товарищи или нет и cron стартующий его раз в сутки,

Правильно ли я это дело реализовал? подскажите товарисчи пожалуйста. трудность возникла в этом самом условии: если дата заявки >= 5 дням, то статус =0

Пользователь решил продолжить мысль 18 Мая 2012, 14:38:58:
сделал  :D правда чучуть по другому. через Event на MySql:
кому может пригодится!
CREATE EVENT `update_date`
    ON SCHEDULE
      AT CURRENT_TIMESTAMP + INTERVAL 24 HOUR
      ON COMPLETION PRESERVE
    DO
      UPDATE wares set status=0 where create_date < NOW( ) -5 and not create_date = '0000-00-00'
« Последнее редактирование: 18 Мая 2012, 14:38:58 от systempapa »

 

Страница сгенерирована за 0.016 секунд. Запросов: 22.