2013-10-04 97 views
0

值我有一个数据库表选择PHP开关箱从MySQL

表:example_tbl

| amount | recurring | frequency | 
| 100  | 150  | 8,monthly | 
| 200  | 250  | 1,annually | 

我想选择在开关频率值,它只是不希望工作,我假设这是由于频率列中的逗号值。任何帮助表示赞赏:

switch($item['frequency']) 
    { 
     case 'monthly': 
      code here.... 
      break; 
     case 'annually':         
      code here... 
      break;     
    } 

感谢

+0

你不应该在表格中存储这样的“双值”值。如果8表示每月一次,而1表示每年一次,那么您只是通过复制数据而浪费空间,并且最终可能会因为逻辑错误而导致“1,每月”和“8每年”的退化状态一些东西。 –

回答

4

你是对的。使用爆炸:

$parts = explode(",", $item["frequency"]); 
$frequency = $parts[1]; 

现在使用$频率的开关情况:

switch($frequency) 
{ 
    case 'monthly': 
     code here.... 
     break; 
    case 'annually':         
     code here... 
     break;     
} 

了解更多关于爆炸这里http://php.net/manual/en/function.explode.php。爆炸使用给定的分隔符标记您的字符串。