2016-02-11 89 views
0

這裏是一個網站,其點擊「Dodaję」後(指在波蘭語「添加」)項目開始到購物籃30分鐘:https://remix.pl/付款,購物籃,並添加項目到購物籃僅半小時

雖然該物品在籃子中,該物品不能被他人購買。我檢查了他們的曬太陽:當我刪除餅乾時,物品被從籃子中取出(所以籃子使用php會話)並且物品再次可以購買。 我想知道他們是怎麼做到的(他們的籃子是否使用數據庫來存儲添加項目的日期時間來計算30分鐘或腳本可以以另一種方式?)。 也許這是一個Cron Job什麼? 什麼是通過PHP做到這一點的最佳方式,或者是不可能做到這樣的事情與PHP?我不是說顯示時間滴答/傳遞,因爲它需要一些jQuery,js等,但只是腳本的本質。

我問了一下,因爲我爲客戶做了一個在線商店,他賣的是像remix.pl這樣的舊衣服,所以商品數量總是1.我必須對產品進行一些封鎖,由一個用戶爲另一個用戶添加相同的項目。 我不介意怎麼做。

這裏還有另外一個問題:只有在通過PayPal支付商品時才能刪除商品數量嗎? 化學例如: 項目數量:還是99 下訂單到MySQL數據庫後:還是99 付費後通過貝寶例如:98 它是一個很好的做法,是不是可以運行99 添加到購物籃後項目付款後的腳本? 非常感謝!

回答

1

在數據庫中也創建一個籃子表。當sy將一件物品放入他的籃子中時,還要在籃子表格中插入一條記錄,以及該條目的時間戳。當您查詢產品表時,您會認爲這些產品不可用,這些產品在購物籃表中,並且時間戳值小於30分鐘。您可以忽略超過30分鐘的購物籃中的任何預訂。您可以從排定的腳本或任何定期運行的頁面代碼清理籃子表格。

關於您的第二個問題:當然您只能在成功完成支付後從庫存中扣除售出的產品數量。貝寶API提供了回調,看到instant payment notifications

+0

我可能找到了最好的辦法做到這一點:當用戶添加1項目籃,然後減少30分鐘項目的數量1。如果物品在30分鐘內支付,那麼永遠減少這個數量,如果物品在30分鐘內沒有支付,則將數量增加1.這樣,我可以銷售數量爲1的舊產品和數量爲999的新產品。 如果物品數量爲1,現在爲0,則用戶無法購買物品,如果物品數量爲999,現在爲998,則用戶可以購買998物品。每當用戶在30分鐘內付款時,商品的數量會增加 –

+0

我有問題,如果有人購買999件數量爲999的商品會怎麼樣?例如一個bot程序?然後,我不會在我的網站上有30分鐘的產品。該計劃每30分鐘購買一件產品,因此我的商店總是有0個數量。看起來很醜陋。 –

+0

也許我不應該有數量。只是產品。 –