我在WordPress中进行自定义搜索。有三个字段可供搜索。
从wp\u帖子中搜索帖子标题
如果用户输入:
输入标题或
- 选择位置或
- 选择年龄或
- 输入标题并选择位置或
- 输入标题并选择年龄或
- 选择位置并选择年龄
我的前5(5)个场景工作得很好,但是我的第6个场景不工作,因为它来自同一个表(
wp_postmeta
)和同一个列,但是两个不同的值。
所以我尝试了这个查询:
Select y_posts.*, y_meta.*
From wp_posts As y_posts
Inner Join wp_postmeta As y_meta
On y_posts.ID = y_meta.post_id
Where y_posts.post_type = 'download'
And y_posts.post_status = 'publish'
And y_meta.meta_key = 'y_activity_locations'
And y_meta.meta_value Like '%Armidale%'
And y_meta.meta_key = 'y_age'
And y_meta.meta_value Like '%3 to 5%'
查询不起作用,因为我认为sever混淆了同一列中的两个值。
Select y_posts.*, y_meta.*
From wp_posts As y_posts
Inner Join wp_postmeta As y_meta
On y_posts.ID = y_meta.post_id
Where y_posts.post_type = 'download'
And y_posts.post_status = 'publish'
And y_meta.meta_key = 'y_activity_locations'
And y_meta.meta_value Like '%Armidale%'
Or y_meta.meta_key = 'y_age'
Or y_meta.meta_value Like '%3 to 5%'
这个查询有效,它只提供年龄或位置数据,但我希望同时搜索这两个值。
我还尝试了子查询(以前从未尝试过)
Select y_posts.*, y_meta.*
From wp_posts As y_posts
Inner Join wp_postmeta As y_meta
On y_posts.ID = y_meta.post_id
Where y_posts.post_type = 'download'
And y_posts.post_status = 'publish'
And y_meta.meta_key = 'y_activity_locations'
And y_meta.meta_value Like '%Armidale%'
And (Select yy_meta.* From wp_postmeta As yy_meta Where yy_meta.meta_key = 'y_age'
And yy_meta.meta_value Like '%3 to 5%')
但它给了我这个错误
所以请指导我如何从同一列中获得两个值。
请只给我查询建议,而不是任何其他解决方案。
你试试,wordpress查询
<?php
$argsCat = array(
'posts_per_page' => -1,
'post_type' => 'download',
'meta_key' => 'y_activity_locations',
'meta_value' => '%Armidale%',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'y_age',
'value' => '3',
'compare' => '>='
),
'relation' => 'AND',
array(
'key' => 'y_age',
'value' => '5',
'compare' => '<='
)
),
);
$normal_array = get_posts($argsCat);
?>
请尝试以下查询:
Select y_posts.*, y_meta.*
From wp_posts As y_posts
Inner Join wp_postmeta As y_meta
On y_posts.ID = y_meta.post_id
Where y_posts.post_type = 'download'
And y_posts.post_status = 'publish'
And (
(y_meta.meta_key = 'y_activity_locations'
And y_meta.meta_value Like '%Armidale%')
Or (y_meta.meta_key = 'y_age'
And y_meta.meta_value Like '%3 to 5%')
)
我有两个清单,例如: 列表1:只有一个元素 列表2:有1000个对象 注意:矩阵是字符串集合(例如:abc,定义,ghi) 问题: 在列表1中只有1个元素,而在列表2中有1000个。我需要检查所有这1000个元素才能找到1个元素吗? 有没有更好的办法?
问题内容: 上面的代码创建一个带有两个列表框的窗口。但是,如果要从这两个值中检索值,就会出现问题,因为一旦在一个值中选择一个值,它就会取消选择在另一个值中选择的值。 这仅仅是开发人员必须忍受的限制吗? 问题答案: 简短答案:将所有列表框小部件的属性值设置为False或零。 从列表框小部件的pythonware概述中: 默认情况下,选择被导出到X选择机制。如果您在屏幕上有多个列表框,这确实会使可怜的
如何在MySQL中为此查询创建索引?
这只适用于第一个字母“j”,只要我加上“ja”(例如,我仍然显示所有的“jonathan”)
问题内容: 我有两个三个整数的对象。我想找到一种方法来返回两个列表的共同元素。有谁知道我如何实现这一目标? 问题答案: 使用。 如果要避免更改受到影响listA,则需要创建一个新的更改。
我只想在数组中的第一个元素上搜索对象,而忽略其余的元素。例如,对于下面的数据,如果我只想在中搜索数组中的第一个元素。 我知道我可以这样做一个嵌套查询,但这里的问题是所有的车辆都被搜索。我只希望车辆列表中的第0个元素被搜索,其余的被忽略。 理想情况下,我需要类似这样的东西来每次搜索列表中的第一辆车。有什么方法可以有效地做到这一点吗?