2016-12-28 85 views
-2

我有這樣增值stdClass的對象數組

stdClass Object ([path] => uploads/1482860841920.jpg) 

和我想要的目的在於補充應以逗號分隔的其他值,所以我可以高達6附加價值

stdClass Object ([path] => uploads/1482860841920.jpg, uploads/1233441234.jpg,..) 

我想要實現的是更新我的數據庫字段,而不會丟失以前的上傳路徑,用戶可以繼續添加他的上傳路徑高達6個值。我沒有找到一種方法來實現它,雖然MySQL嘗試使用PHP

它很棒如果我可以更新此表

ID |路徑 1 |上傳/ 1482860841920.jpg

id |路徑 1 |上傳/ 1482860841920.jpg,上傳/ 45828gf1920.jpg ..

不失舊數據

+1

mysql是如何涉及到的?你能否展示你所嘗試過的,因爲目前尚不清楚你想達到什麼目的。 – Jeff

+1

您不應將多個值作爲分隔文本值存儲在單個字段中,請將這些值作爲單獨記錄輸入。您可能需要添加其他表以適應此情況。 – Shadow

回答

0
$object = new StdClass; 

$object->foo = array("uploads/1482860841920.jpg","uploads/1482860841920.jpg","uploads/1482860841920.jpg"); 

這樣增加值..

+0

感謝您的回覆 – ricky

0

有2個容易解決您的問題。

第一個是連接到其他的新路徑:

if(substr_count($object["path"], ",") < 5){ 
    $object["path"].=", ".$newPath; 
} 

然後,您可以直接插入變量到你的數據庫。

另一個解決方案是使用一個數組:

//initialization 
$object["path"] = []; 

if(count($object["path"]) < 6){ 
    $object["path"][] = $newPath; 
} 

而且當你要插入到數據庫中,你implode您的陣列。