【问题标题】:2 or 3 Categorys search checkbox php2 或 3 个类别搜索复选框 php
【发布时间】:2015-05-23 18:23:24
【问题描述】:

每篇文章可以有无限的类别。 类别像这样保存在数据库中 例如article_category: '1','3','8' 或者 例如article_category: '2','3' 因此,当我在下面搜索列表时,假设类别 3

$category_id = '1,3';

$SQL = "SELECT * FROM ARTICLES WHERE article_category = '$category_id'";

如果它只是上面的一个就可以了。 我不想这么说,但我完全迷路了。我会使用IN 吗?

【问题讨论】:

  • 如果您希望多伙伴 id 对表进行检查,请使用 IN sql 运算符

标签: php mysql search checkbox


【解决方案1】:

你可以这样写

$SQL = "SELECT * FROM ARTICLES WHERE article_category IN (".$category_id.")";

【讨论】:

  • 无法正常工作,因为 article_category === $category_id 带有 IN。但是article_category = '1','3','8' $category_id= '1,3'
【解决方案2】:

你可以像这样使用FIND_IN_SET()

SELECT * 
FROM ARTICLES 
WHERE FIND_IN_SET($category_id, article_category) > 0

【讨论】:

  • No view steambuy.com/catalogue.php?q= sidebar left Популярные жанры under checkbox type search jquery
  • @SeymurHaşımov 类别以什么格式存储在数据库中? article_category = 1,3,8 或 article_category = '1','3','8'
【解决方案3】:

如果我理解您的问题,那么您想一次查询不同的类别。

如果我是正确的,那么你必须在数组或不同变量中获取类别类型,然后在 where 子句中使用 or 比较它们中的每一个。 比如:where article_category='$x1' or article_category='$x2' or...等等。

【讨论】:

  • No view steambuy.com/catalogue.php?q= sidebar left Популярные жанры under checkbox type search jquery
【解决方案4】:

使用find_in_set()

 $SQL= "SELECT * FROM ARTICLES WHERE FIND_IN_SET(1,article_category)>0";

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-15
  • 1970-01-01
  • 2013-05-28
  • 2014-12-06
  • 2019-05-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多