【问题标题】:MySQL Search Query for WordPress DatabaseWordPress 数据库的 MySQL 搜索查询
【发布时间】:2013-01-11 21:09:07
【问题描述】:

我目前正在构建一个作为产品搜索引擎的移动 (Android) 应用程序。产品信息,当前存储在 WordPress 电子商务商店 (WooCommerce) 中。我已在此商店中添加了 5 件样品产品用于测试。

我目前在应用程序中使用了搜索功能。用于此搜索的 MySQL 查询如下:

SELECT a.*, b.guid AS img_url 
FROM wp_posts AS a 
LEFT JOIN wp_posts AS b ON a.ID = b.post_parent 
WHERE a.post_type='product' 
AND a.post_title LIKE '%$search%'

现在,当我搜索“sample”之类的内容时,我会得到标题中包含“sample”一词的所有产品的搜索结果。

但是,如果其中一种产品附有不止一张图片。我得到了附加到产品的尽可能多的图像的结果。(见下面的屏幕截图)

截图:http://cl.ly/M7Ap

如果有人可以帮助我解决这个问题,那么我就不会得到一个帖子的多个结果。将不胜感激。

【问题讨论】:

  • 问题是:当您的产品有多个图像时,您想要哪一个?一旦你定义了它,你就可以使用这个技术:dev.mysql.com/doc/refman/5.0/en//…
  • 我只是想让它显示特色图片。
  • 更正,我想展示产品+特色图片。正是您在屏幕截图中看到的。但只是原始帖子和特色图片。

标签: mysql wordpress search


【解决方案1】:

如果你不关心哪个结果,而只想每个帖子一个,你能不只使用 GROUP BY 吗?

【讨论】:

  • 好吧,我希望它显示带有特色图片的原始帖子。这些是我在产品只有特色图片时得到的结果。
  • 对不起,我不知道 wp_posts 的结构,但是图像是否存储为 wp_post 记录,并带有它们所附加的帖子的 post_parent?
  • 是的,图像存储为相应的帖子,但带有“post_type = attachment”。但是,当我在 phpMyAdmin 中运行上述查询时,它会以“post_type = product”显示它们。
  • 正如我所说,只需在查询末尾添加一个 GROUP BY (ID) 即可。
  • 老兄,我爱你!那是不是太远了?嗯,非常感谢! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-25
相关资源
最近更新 更多