【问题标题】:Mysql select LIKEmysql选择LIKE
【发布时间】:2016-07-10 17:06:34
【问题描述】:

我在 mysql 表中有一个名为 category 的列。

Clothese category is 1
Mens clothes is 1-1
Ladies clothes is 1-2
Kids clothes is 1-3

上述结构的目标是通过以下查询轻松地将所有衣服加载到一个页面中。

$cat=mysql_real_escape_string($_GET[cat]); 
$query="select * from campaigns WHERE category LIKE '$cat%' ";

到这里它工作正常,但问题是我有另一个 ID 为 10 的香水类别,当我想加载类别 1(包括 1 本身和它的子类别,如 1-1 )时,它也在加载类别 10。

请告诉我什么是正确的解决方案

【问题讨论】:

  • 可以“从广告系列中选择 * WHERE category LIKE '{$cat}-%'”解决你的香水问题`LIKE '10-%'`
  • 节省一些时间并重写应用程序以不使用mysql_* 系列函数:stackoverflow.com/questions/12859942/…
  • 我应用了您的代码,以下两个 URL 均未加载任何产品 products.php?cat=10 products.php?cat=10-

标签: php mysql select sql-like


【解决方案1】:

查询可以是:1-1,1-2

$query="select * from campaigns WHERE category LIKE '$cat-%' ";

同样适用于 10 人 编辑:

$query1=mysql_numrows("select * from campaigns WHERE category LIKE '$cat-%' ");
if($query1>0) $str="-"
else $str="";
$query_final=mysql_query("select * from campaigns WHERE category LIKE '$cat$str%'");

【讨论】:

  • 这是行不通的,例如对于类别 10 我们没有 10-1 和这样的
猜你喜欢
  • 2011-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-27
相关资源
最近更新 更多