2015-08-31 32 views
0

嗨在我的数据库中,名为“page”值的列是用逗号分隔的,我可以如何检测到我需要的值是否在那里?在列页面如何在逗号分隔列中选择值

价值观是:信息,启动,主,页脚,图表

$page = "main"; 
$userPerm = "4"; 

$sql = "SELECT * FROM perm WHERE page= '".$page."' AND userPerm = '".$userPerm."' "; 
$result = $dp->sql_query($sql); 
if($row = $dp->sql_fetchrow($result)) 
{ 
    return $userPerm; 
}else { 
    return ''; 
} 
+0

欢迎来到SO。请标记您正在使用的DBMS。另外,也许你得到了一个不好的规范化数据库,你不能把每个页面id放在一行吗?创建一个page_perm关系表? – jean

回答

0

如果值不是强制性的或一直存在,你不能。但是,如果始终存在,则可以这样做:

$string = "Summer is almost done"; 
$tok = strtok($string, ","); 
while ($tok !== false) { 
    if ($tok == "summer") { 
     do your thing 
    } 
} 
+0

谢谢,但我发现答案的简单方法,我必须使用FIND_IN_SET任何方式谢谢你的答案。 – SomeTouch