【问题标题】:Search products with name both "test product" and "test-product"搜索名称为“test product”和“test-product”的产品
【发布时间】:2015-02-10 13:28:28
【问题描述】:

我的一个购物车中有一个带有 CS-Cart 框架的搜索功能。在某些情况下,我有“测试产品”、“测试产品”、“测试/产品”等产品。 我使用了以下查询“descr1.search_words LIKE %.$query.%”来获取所有具有查询词的相应产品。 当我搜索“测试产品”时,它只显示“测试产品”。 但我需要输出,因为它显示了上面提到的所有产品以及术语测试和产品。

提前致谢。

【问题讨论】:

  • 你能告诉我们你的实际代码吗?
  • 我只是使用简单的搜索查询来获取带有“LIKE” LIKE %.$query.%" 的数据,这里是我的 $query="test product"

标签: php mysql search


【解决方案1】:

您可以尝试用通配符替换空格进行比较:

where descr1.search_words like concat('%', replace($query, ' ', '%'), '%')

当然,这也会在关键字之间找到与其他单词的匹配。

【讨论】:

  • 搜索“test-products”或“test/products”是否有效?在我的数据库中,产品名称将是“测试产品”、“测试产品”等。如果我搜索“测试产品”或“测试产品”,搜索应该会显示所有结果
猜你喜欢
  • 2014-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-19
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多