2014-10-11 61 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>'; 
}