2011-01-25 7 views
1

私は注文を処理するデータベースを持っています - 注文はプロセスの始めに挿入されますが、プロセスが完了していない(ページを残したなど)これにより、管理者はどの注文が完了したかを知ることができます。私はウェブサイトがデータを管理する方法を調整するの贅沢を持っていない現時点ではPHP MySQL - 週に1回の操作

、しかし私は、どのようにでしょう= 0

を「確認」これらのデータベースフィールドの毎週のクリーンアウトのいくつかの並べ替えを追加することができます私はこれを自動的に行うことについて行きますか?毎週、毎月、毎年このようなクエリを実行する方法はありますか?

編集:

私は、ウェブサイトは、私はボックス自体にはアクセスできません制限され、共有サーバに格納されていることを追加した場合は?

答えて

2

このジョブを実行するにはCRONを使用できます。しかし、あなたが完了したものを人間のために表示するためだけに不完全な注文からデータベースを掃除し、それらを他の場所にエクスポートしなければならない場合(例えば、マネージャーが1日に1回バックエンドを訪れ、手作業で完了した注文を探します)このためのCRON。バックエンドにアクセスするたびにデータベースから古いエントリを削除するコードをいくつか追加することができます。

DELETEクエリは非常に高速に実行されるので、パフォーマンスに問題はありません。実際のデータの削除はリクエストによってのみ実行されます。また、あなたはCRONを持っている必要はありません(いくつかの格安ホスティングプロバイダはこのサービスにアクセスできません)。

0

通常、アクションを実行するPHPページを作成し、cURLとCRONジョブを使用して実行するようにスケジュールします。

+0

実行スケジュールを設定するにはどうすればよいですか?私は –

+0

の前にcURLやCRONを使用していません。http://www.weberdev.com/get_example-3441.html –

0

UNIX系の場合は、PHP CLIスクリプト(つまり、Webサーバーモジュールではなくコマンドラインから実行するPHPスクリプト)にクリーンアップを入れて、それをcronjobから呼び出します。 Cronはこの目的のためのデーモンです。事前定義された間隔で実行します。 Cronjobsはcrontabファイルで定義され、通常/etc/crontab(root)と~/.crontab(通常のユーザ)です。多くのディストリビューションでは、このファイルを安全に編集するツールが提供されています。

詳細については、man cronman crontabをお試しください。また、自動化するスクリプトを実行するには、http://en.wikipedia.org/wiki/Cron

0

するためのリンクを見て、タイプcrontab -e、あなたはその後、プロンプトが表示されますあなたは、現在のcronジョブを表示し、デフォルトを選択して、次の行を追加したいと思いますどのエディタを選択するオプションがします。/ usr/bin/phpのは、あなたがこれを設定する前に(あなたが必要になります(存在する場合)

0 0 * * 0 /usr/bin/php /path/to/script.php 

ご確認ください存在しない場合はphp-cliをインストールするか、ファイルは/ usr/sbin/phpにあるかもしれません)。

このクローンジョブは週に1回実行されます。頻度を変更するには、マンページを使用して方法を学習します。

また、このスクリプトを自動的に実行してもよろしいですか?私が理解しているところから、不完全な注文を最初に見てから、それを掃除するだけの人が必要です。このクルージョブを実行すると、誰かが注文を完了していないが、その証拠が削除された状況にある可能性があります。

希望すると、