2016-05-24 15 views
-1

ユーザーがボタン「カートに追加」をクリックして、時間の後に値を初期値に戻したときの値(在庫数)を減らしたいですか(5分とします)? P.S:PHP jqueryとajaxを使用しています。データベース(mysql)を変更して5分後に復元する方法は?

+0

ファイル(または差分テーブル)に値を保存し、それを復元するためにcronジョブを使用します。 –

+0

申し訳ありませんが、私はあなたが何を意味するかを見ることができません、より具体的なことができますか? (例がうまくいく)、ありがとう! –

+0

'UPDATEテーブルセットcol_x = col_x -1 WHERE col_y = 'z' AND date

答えて

0

PDO(MySQLとのPHP通信)を使用できます。その一例がパフォーマンス(そしてもちろんセキュリティ)を向上させるために準備声明でデータベースに値を低下させるために、次のようになります。

$sql = "UPDATE myTable SET number_of_products = number_of_products - :quantity WHERE product_id = :id"; 
$stmt = $conn->prepare($sql); 
$stmt->bindParam(':quantity', $quantity); 
$stmt->bindParam(':id', $id); 
$stmt->execute(); 

その後、あなたはすでに文を用意しているので、あなたは可能性があり次のように5分後に場所を取るために2番目のスクリプトを望んでいた場合

$stmt->bindParam(':quantity', -$quantity); 
$stmt->bindParam(':id', $id); 
$stmt->execute(); 

(全体のSQL文を再宣言することなく)、この値を元に戻すには、実装されたキューシステムを持つことができます例えば5分の遅延があります。また、5分間スリープする機能もありますが、別のスクリプトで使用する予定がない限り、その機能をユーザーと同じページで実行することは非常に実用的ではありません。 5分待って同じページにいること。

+0

それは良いアイデアだけど、待っている部分はあまり実用的ではない。実際には、クライアントがまだ私のウェブサイトにいて、彼が望むどんな種類のものもやっている間、この "5分"彼は5分以上そこに行きます、値は変わるでしょう... –

+0

@TarikKaoukabはい、私は言ったように、それはキューシステムが実用的かもしれない理由です。あなたのプロジェクトを開発するためにどれくらいの時間と労力を費やしているのかよくわからないので、人々が「待っている」計画を実装する方法のいくつかをあなたに投げかけています。コードに関して、提示されたSQLは、それがどれほど速いかの理由から、今日の標準である。ああ、私の答えがあなたのために働いた場合は、緑色のチェックマークで受け入れて、将来のユーザーがあなたのために働いたことを知ってください。 – Webeng

関連する問題