У меня есть много пользовательских полей - цена, вес и т.д. ............Advanced Mysql над Wordpress Пользовательские поля
Теперь я пытаюсь создать пользовательский поиск, основанный на том, что я хочу поиск по минимальному & максимуму ... Как-то я не могу создать точный запрос ......... будет оценить чью-то помощь по этому ..
Вот запрос я пытаюсь
$where = "";
if (isset($_POST['pricemin']) && $_POST['pricemin'] != "") {
$pricemin = $_POST['pricemin'];
$where .= " and (SELECT post_id from wp_postmeta where meta_key='list_price' and meta_value > ".$pricemin.$order.") ";
}
if (isset($_POST['pricemax']) && $_POST['pricemax'] != "") {
$pricemax = $_POST['pricemax'];
$where .= " and (SELECT post_id from wp_postmeta where meta_key='list_price' and meta_value < ".$pricemax.$order.") ";
}
и вот окончательная строка ..
"SELECT * from wp_posts where ID IN (select 1 from wp_postmeta ".$where.")"
Любые предложения по UNION, пересекаться и т.д., или лучший способ сделать это .......... Спасибо
На самом деле MySQL Между решает половину моей проблемы ...... смогу написать все это, как
if (isset($_POST['pricemin']) && $_POST['pricemin'] != "") {
$pricemin = $_POST['pricemin'];
$wherep1= " (SELECT post_id from wp_postmeta where meta_key='list_price' and meta_value > ".$pricemin.$order.") ";
}
if (isset($_POST['pricemax']) && $_POST['pricemax'] != "") {
$pricemax = $_POST['pricemax'];
$wherep1 = " (SELECT post_id from wp_postmeta where meta_key='list_price' and meta_value < ".$pricemax.$order.") ";
}
if (isset($_POST['pricemin']) && $_POST['pricemin'] != "" && isset($_POST['pricemax']) && $_POST['pricemax'] != "") {
$pricemin = $_POST['pricemin'];
$pricemax = $_POST['pricemax'];
$wherep1 = " (SELECT post_id from wp_postmeta where meta_key='list_price' and meta_value BETWEEN ".$pricemin." and ".$pricemax ." ".$order.") ";
}
Но я хочу, чтобы искать по весу, высота слишком ..............
так, что-то вроде Intersect мог бы помочь мне. . Но я вижу, что MYSQL не поддерживает INTERSECT ........ Итак, остается вопрос, как переписать запрос
INTERSECT B ПЕРЕСЕЧЕНИЕ C ПЕРЕСЕЧЕНИЕ D в MySQL