- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这太令人抓狂了。我似乎无法弄清楚什么似乎是一件容易做的事情。我正在为一个销售二手房车的 WordPress 网站构建自定义搜索功能。我正在使用 Woocommerce 对产品进行编目(可能并不重要,因为它只是创建一个带有 post_type=product 而不是 post_type=post 的产品)。
我使用自定义字段来定义选项,例如车辆的“类别”(例如“A 类”、“B 类”、“C 类”等)和“燃料类型”(例如“汽油”、“柴油机”、“可牵引”)。因此,每个产品对于相同的meta_key可能有不同的meta_value,但每个meta_key只能定义一次,并且每个meta_key只能有一个meta_value。
搜索表单的一部分看起来像这样。 (还有更多,但这就是我们目前需要担心的)
<h4>Type / Class</h4>
<label><input type="checkbox" name="a1" value="0" />All Types</label>
<label><input type="checkbox" name="a2" value="Class A" />"Class A" RV's</label>
<label><input type="checkbox" name="a3" value="Class B" />"Class B" RV's</label>
<label><input type="checkbox" name="a4" value="Class C" />"Class C" RV's</label>
<label><input type="checkbox" name="a5" value="Fifth Wheel" />Fifth Wheel RV's</label>
<label><input type="checkbox" name="a6" value="Toy Hauler" />Toy Haulers</label>
<label><input type="checkbox" name="a7" value="Travel Trailer" />Travel Trailer RV's</label>
<label><input type="checkbox" name="a8" value="Camping Trailer" />Camping Trailers</label>
<h4>Engine Type</h4>
<label><input type="checkbox" name="c1" value="0" />All Engine Types</label>
<label><input type="checkbox" name="c2" value="Gasoline" />Gasoline</label>
<label><input type="checkbox" name="c3" value="Diesel" />Diesel</label>
<label><input type="checkbox" name="c4" value="Towable" />Towable</label>
发送它来运行以下查询并返回结果。
$result = mysql_query("
SELECT * FROM wp_postmeta
WHERE
(meta_key= 'class' AND (meta_value = '$a2' OR meta_value = '$a3' OR meta_value = '$a4' OR meta_value = '$a5' OR meta_value = '$a6' OR meta_value = '$a7' OR meta_value = '$a8'))
");
这样做的作用是,如果选择了一个框,则为所选选项的 URL 中的选项传递一个 true 参数 (1)(例如 site.com/search/?a2=1&a4=1 if '选择“A 类”和“C 类”)。这似乎工作正常。
但是,当我尝试使用这个新查询搜索另一个 meta_key 及其值的组合时...
$result = mysql_query("
SELECT * FROM wp_postmeta
WHERE
(meta_key= 'class' AND (meta_value = '$a2' OR meta_value = '$a3' OR meta_value = '$a4' OR meta_value = '$a5' OR meta_value = '$a6' OR meta_value = '$a7' OR meta_value = '$a8'))
AND
(meta_key= 'fuel' AND (meta_value = '$c2' OR meta_value = '$c3' OR meta_value = '$c4'))
");
...它不再工作了:(每个meta_key语句将独立工作,但不能使用AND运算符一起工作。这对我来说似乎是正确的,但它不起作用。但奇怪的是,如果我在行中将AND更改为OR 5 它可以工作,但不会返回我想要的结果,因为它扩大了搜索而不是缩小了搜索范围。
非常感谢任何帮助。如果有人知道如何实现这一点,我也愿意尝试其他方法,因为我可能会做错所有事情。我首先是一名设计师,最近转为程序员,我的专业知识水平充其量只是中等,所以请善待。
最佳答案
这是您编写 SQL 查询的错误。 wp_postmeta 中的每条记录只能有一个meta_key 值,但您尝试匹配多个meta_key 值,这就是为什么您没有看到返回结果,因为没有记录与您的查询匹配。
为了返回您要查找的数据,您需要为要查找的每个唯一的 meta_key 条件连接表。
类似的东西应该是您所寻找的。
SELECT distinct(m1.post_id) as post_id FROM
wp_postmeta m1,
wp_postmeta m2
WHERE
m1.post_id=m2.post_id AND
(m1.meta_key='class' AND (m1.meta_value IN ('$a2','$a3','$a4','$a5','$a6','$a7','$a8'))) AND
(m2.meta_key='fuel' AND (m2.meta_value IN ('$c2','$c3','$c4')))
您需要根据设置的搜索选项构建 SQL 查询。
关于mysql - WordPress 自定义搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12310229/
好的,所以我编辑了以下... 只需将以下内容放入我的 custom.css #rt-utility .rt-block {CODE HERE} 但是当我尝试改变... 与 #rt-sideslid
在表格 View 中,我有一个自定义单元格(在界面生成器中高度为 500)。在该单元格中,我有一个 Collection View ,我按 (10,10,10,10) 固定到边缘。但是在 tablev
对于我的无能,我很抱歉,但总的来说,我对 Cocoa、Swift 和面向对象编程还很陌生。我的主要来源是《Cocoa Programming for OS X》(第 5 版),以及 Apple 的充满
我正在使用 meta-tegra 为我的 NVIDIA Jetson Nano 构建自定义图像。我需要 PyTorch,但没有它的配方。我在设备上构建了 PyTorch,并将其打包到设备上的轮子中。现
在 jquery 中使用 $.POST 和 $.GET 时,有没有办法将自定义变量添加到 URL 并发送它们?我尝试了以下方法: $.ajax({type:"POST", url:"file.php?
Traefik 已经默认实现了很多中间件,可以满足大部分我们日常的需求,但是在实际工作中,用户仍然还是有自定义中间件的需求,为解决这个问题,官方推出了一个 Traefik Pilot[1] 的功
我想让我的 CustomTextInputLayout 将 Widget.MaterialComponents.TextInputLayout.OutlinedBox 作为默认样式,无需在 XML 中
我在 ~/.emacs 中有以下自定义函数: (defun xi-rgrep (term) (grep-compute-defaults) (interactive "sSearch Te
我有下表: 考虑到每个月的权重,我的目标是在 5 个月内分散 10,000 个单位。与 10,000 相邻的行是我最好的尝试(我在这上面花了几个小时)。黄色是我所追求的。 我试图用来计算的逻辑如下:计
我的表单中有一个字段,它是文件类型。当用户点击保存图标时,我想自然地将文件上传到服务器并将文件名保存在数据库中。我尝试通过回显文件名来测试它,但它似乎不起作用。另外,如何将文件名添加到数据库中?是在模
我有一个 python 脚本来发送电子邮件,它工作得很好,但问题是当我检查我的电子邮件收件箱时。 我希望该用户名是自定义用户名,而不是整个电子邮件地址。 最佳答案 发件人地址应该使用的格式是: You
我想减小 ggcorrplot 中标记的大小,并减少文本和绘图之间的空间。 library(ggcorrplot) data(mtcars) corr <- round(cor(mtcars), 1)
GTK+ noob 问题在这里: 是否可以自定义 GtkFileChooserButton 或 GtkFileChooserDialog 以删除“位置”部分(左侧)和顶部的“位置”输入框? 我实际上要
我正在尝试在主页上使用 ajax 在 magento 中使用 ajax 显示流行的产品列表,我可以为 5 或“N”个产品执行此操作,但我想要的是将分页工具栏与结果集一起添加. 这是我添加的以显示流行产
我正在尝试使用 PasswordResetForm 内置函数。 由于我想要自定义表单字段,因此我编写了自己的表单: class FpasswordForm(PasswordResetForm):
据我了解,新的 Angular 7 提供了拖放功能。我搜索了有关 DnD 的 Tree 组件,但没有找到与树相关的内容。 我在 Stackblitz 上找到的一个工作示例.对比drag'ndrop功能
我必须开发一个自定义选项卡控件并决定使用 WPF/XAML 创建它,因为我无论如何都打算学习它。完成后应该是这样的: 到目前为止,我取得了很好的进展,但还有两个问题: 只有第一个/最后一个标签项应该有
我要定制xtable用于导出到 LaTeX。我知道有些问题是关于 xtable在这里,但我找不到我要找的具体东西。 以下是我的表的外观示例: my.table <- data.frame(Specif
用ejs在这里显示日期 它给我结果 Tue Feb 02 2016 16:02:24 GMT+0530 (IST) 但是我需要表现为 19th January, 2016 如何在ejs中执行此操作?
我想问在 JavaFX 中使用自定义对象制作 ListView 的最佳方法,我想要一个每个项目如下所示的列表: 我搜了一下,发现大部分人都是用细胞工厂的方法来做的。有没有其他办法?例如使用客户 fxm
我是一名优秀的程序员,十分优秀!