[請益] 同頁多圖上傳及更改?

作者: Notte (不安分的靈魂)   2014-08-04 21:16:31
因為該頁前端 需要五張圖
所以在資料庫只放了一筆資料 紀錄五張圖的存取位置
後台的設計 也寫好五張圖去撈資料庫的位置
如果我一次上傳五張 那麼結果是正常的
問題是 如果我再次去上傳更改某一張圖 那麼其餘四張會變成空值
我是用UPDATE SET 去更改上傳過的圖
但因為四張沒改而抓不到POST的值而導致空值
請問我應該要怎麼改寫才比較正確呢???
作者: chemberlain (點心工程師)   2014-08-04 22:39:00
把五張圖放進陣列,serialize後再寫進資料庫要修改時再抓出來unserialize去改要更新的資料
作者: Bambe (起笑的我們:P)   2014-08-04 23:08:00
導致空值的部份別改它就好了,話說你資料庫怎麼設計?
作者: Notte (不安分的靈魂)   2014-08-05 09:11:00
C大說的有點高深 我爬文一下好了@_@B大 因為我只有那一頁需要偶爾換圖 所以只設計一筆 存5張圖
作者: crossdunk (推噓自如)   2014-08-05 10:24:00
c大說的是只需要一個欄位如果你不想改資料庫結構,我建議是五個都抓出來都放進去input text裡面 改要改的 這樣沒改的也會有值再一起送出就好了
作者: Bambe (起笑的我們:P)   2014-08-05 11:38:00
所以才說你要在程式裡加工,讓空值也不要一起update進去不然最簡單的方法就是crossdunk大說的了
作者: Notte (不安分的靈魂)   2014-08-05 21:15:00
放進input text是什麼意思呢?讓空值不要update是利用if else嗎?麻煩各位了
作者: KawasumiMai (さあ、死ぬがいい)   2014-08-05 22:39:00
如果不想修改DB架構,就是修改時抓出五張值修改(替代)其中一張然後一樣寫入五張的資料進去這有很多種解決方法,端看巧思而已,像是另存text隱藏還是function設計加上index,寫入前先讀取然後取代該位置的值之後才寫入也可以
作者: Notte (不安分的靈魂)   2014-08-07 17:22:00
感謝 我會多加研究相關作法的

Links booklink

Contact Us: admin [ a t ] ucptt.com