多关键词 空格

qaulxy 2009-09-04 05:48:02
商品名称是: 正品耐克运动鞋P-4657包邮500元

如果想让客户在文本款输入带空格的关键词,可以检索到这条记录 应该怎么写呢?

比如关键词是 : “正品 耐克 4657”

select * from product where name=****

****应该怎么表达
...全文
91 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
treesky 2009-09-05
  • 打赏
  • 举报
回复
建议这样,你可以单独建立一个关键字表。
这个表里面存储 这个关键字和所在表的记录id,这样查找的时候关联下就可以了。
qaulxy 2009-09-04
  • 打赏
  • 举报
回复

$arrSearch = explode(" ", $_POST['search']);
foreach($arrSearch as $value)
{
if($value!='')
{
$strSearch .= "AND name LIKE '%".$value."%' ";
}else{
$strSearch =$strSearch;
}
}

$sql = sprintf("select * from product where %s",ltrim($strSearch,"AND"));

这样就可以了哈哈,谢谢各位
phpboy 2009-09-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 qaulxy 的回复:]
不怎么理想 如果 客户输入好几个空格
就是这个样子了
PHP codeAND name LIKE'%%' AND name LIKE'%%' AND name LIKE'%山东%' AND name LIKE'%%' AND name LIKE'%%' AND name LIKE'%滨州%' AND name LIKE'%移动%'
[/Quote]

如果这样处理,改用 or
qaulxy 2009-09-04
  • 打赏
  • 举报
回复
不怎么理想 如果 客户输入好几个空格
就是这个样子了
AND name LIKE '%%' AND name LIKE '%%' AND name LIKE '%山东%' AND name LIKE '%%' AND name LIKE '%%' AND name LIKE '%滨州%' AND name LIKE '%移动%'
程序猿之殇 2009-09-04
  • 打赏
  • 举报
回复
$arrSearch = explode(" ", $_POST['search']);
foreach($arrSearch as $value)
{
$strSearch .= sprintf(" AND name LIKE '%s%' ", $value);
}
$sql = sprintf("select * from product where %s", ltrim($strSearch, "AND"));
阿_布 2009-09-04
  • 打赏
  • 举报
回复

$str = str_replace(' ','%',$str);
select * from product where name like '$str';

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧