2014-10-11 56 views
0

我正在創建一個商店。當用戶在Mysql數據庫中購買物品時,會添加他們購買的產品ID爲1或2或兩者。假設用戶同時購買(id 1和2),那麼我希望表users的mysql列purchases顯示1,2,我可以這樣做。但主要的一部分來自我怎樣才能得到結果在PHP和循環字符串通過分隔符,分開然後得到單獨所有的數字和執行此:獲取Mysql數據並分割爲分隔符

//inside loop with $i incrementing till no more delimiter is found. 

if($purchase[$i] == 1){ 
     echo 'You purchased '.$i.''; 
} 

基本上我想存儲所有在purchases列購買在用逗號分隔的users中檢索結果,分隔逗號然後比較PHP中的每個數字。

PS。 Noob在這裏!

+1

不要使用數據庫逗號分隔的數據列,這使得在查詢中使用它們非常困難。把它們放在不同的行中。 – Barmar 2014-10-11 05:16:19

+1

但要回答你的問題,請使用PHP'explode()'函數。 – Barmar 2014-10-11 05:16:40

回答

2

這是一個糟糕的數據庫設計,您應該爲每次購買創建一個包含單獨行的表。但是,如果你堅持這一點,使用explode()

$purchases = explode(',', $row['purchases']); 
foreach ($purchases as $purchase) { 
    echo 'You purchased '.$purchase.'<br>'; 
}