过滤MYSQL,其中多个字段可以匹配URL PARAMETER。 IN,LIKE还是REGEXP?

时间:2013-11-28 10:28:03

标签: php mysql regex url-parameters

我创建了一个页面,在列表中显示所有表格结果,但是如果您选择一个类别名称,那么它会将这些结果过滤到与URL中的类别名称匹配的所有行(使用友好URL) category_1字段或category_2字段。这就是我现在所拥有的:

$colname_rs_categories = "-1";
if (isset($_GET['cat'])) {
    $colname_rs_categories = $_GET['cat'];
}
mysql_select_db($database_neonnettle, $neonnettle);

$query_rs_categories = sprintf("
     SELECT videos_id, 
         DATE_FORMAT(date,'%%D %%M %%Y @ %%l.%%i  %%p')date, 
         thumb, 
         title, 
         sub_title 
     FROM VIDEOS_view 
     WHERE %s IN (category_1, category_2) 
     ORDER BY videos_id DESC", 
     GetSQLValueString($colname_rs_categories, "text")
);

$query_limit_rs_categories = sprintf("%s LIMIT %d, %d", $query_rs_categories, $startRow_rs_categories, $maxRows_rs_categories);
$rs_categories = mysql_query($query_limit_rs_categories, $neonnettle) or die(mysql_error());
$row_rs_categories = mysql_fetch_assoc($rs_categories);

现在这已经很有效了。例如:如果用户选择类别"Pop",则该网址将为www.example.com/pop,并会列出与category_1和/或category_2匹配的所有结果{ {1}}。

我遇到的问题是,如果类别名称为"Pop",那么该网址将为"Pop Music",这样就可以停止过滤结果,因为它不会再看到匹配项了。< / p>

我一直在试验www.example.com/pop-musicLIKE,但我没有运气。我在想这样的事情(但不是因为它不起作用):

REGEXP

有什么建议吗?

0 个答案:

没有答案