關於購物車存入資料庫的問題

edited 十月 2013 in PHP新手區
因應工作需要完成了一個購物車

加入購物車的方式是先將資料存入session 待完成購物後再將購物車的內容一次寫入資料庫中

我的主管看過這樣的方式後要求我 直接將資料一筆一筆寫進資料庫中 (問題1)

也就是說每加入一筆商品資料就寫入資料庫一次

他的理由 ---> 客戶每次所下的訂單資料都有好幾百筆 要是進行到一半突然斷線 先前存放的資料就會不見 必需從頭開始

另外 他還要求購物車的系統要有"暫存n筆訂單"的功能 並且能夠隨時對某一筆訂單抓出來再編輯 (問題2)

也就是說 可以將尚未確認的購物車 先存起來 以便下次再編輯

(這個部份我採用的方式是將暫存的資料寫進資料庫中 對應後抓出尚未完成編輯的資料

然後再透過購物車去新增要再加入的物品 而後寫進資料庫中)

主管又說: 暫存訂單還要經過觸發(按下存入暫存的按鈕) 要是客戶沒按下按鈕 還是要從新來過

(問題3) 主管又提出一個很奇妙的質疑 : 要是同一個帳號 同時有很多人都用此帳號 對暫存的訂單做編輯 那要怎麼辦

(因為客戶會有很多業務進行下單的工作)

我目前想到的方式 就是給予客戶 多個帳號 讓客戶的業務 都有自己下單的帳號 以避免這樣的狀況發生


關於問題1 : 我知到對於資料庫一直存取 實在不是件好事 會增加loading (我想知到版上大大對於這樣方式的看法)

關於問題2 : 我承認我很嫩 不知到沒有觸發 要怎麼把資料寫進資料庫中

(有大大可以點一下不用觸發就可以將資料寫進db的方式嗎?

我有想過使用session 不過 這對於sesver的負荷 會很傷吧<---- 如果有錯 也請指正我 謝謝 ^^)

關於問題3 : 不才的我實在很無言... 請大大給予建議 若我的方式不是最佳解 也請指正 ^^

以上 感謝大大看完我的茶包 希望能承蒙個位提出建議 不吝指教 謝謝 ! 再次感謝 !

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=2239

評論

  • edited 十一月 2006
    1.以資料庫取代session的做法並不是什麼大問題,事實上也有很多網站的session是存在資料庫中的

    2.可以參考看看ajax,不需要submit就能跟php溝通

    3.一個帳號就是一個user,user將帳號給誰使用不關programer的事,programer只需注意別讓駭客有門路經由程式得到其他user資料即可
    也就是說你只要處理好帳號的事,對於多人使用同一帳號的責任,行政問題留給主管去處理吧
    (另外也建議你針對帳號單用的部分教育一下主管,提出比較帳號獨立或合用的優缺點,這樣會更有助於溝通)
  • edited 十一月 2006
    感謝大大精闢的見解與建議 再次感謝 ^^
Sign In or Register to comment.