PHP + MySQL

Emir

Новичок
Есть вот такой код в поиске по параметрам:

Код:
if($_GET['brand']){
                            $check_brand = implode(' , ', $_GET['brand']);

                        }

                        $start_price = (int)$_GET['start_price'];
                        $end_price = (int)$_GET['end_price'];

                        if( (isset($check_brand) && !empty($check_brand)) || (!empty($end_price) && isset($end_price)) ){

                            if (isset($check_brand)) { $querybrand = ' AND brand_id IN ($check_brand)';
                            }

                            if (!empty($end_price) && isset($end_price)) {
                                $queryprice = " AND price BETWEEN $start_price AND $end_price";
                            }
                        }
И такой запрос в БД:

Код:
$result = mysql_query("SELECT * FROM table_products WHERE visible='1' $querybrand $queryprice ORDER BY product_id DESC",  $link);
Вардамп:


Код:
var_dump($check_brand);
                        echo "<br/>";
                        var_dump($end_price);
                        echo "<br/>";
                        var_dump($querybrand);
                        echo "<br/>";
                        var_dump($queryprice);
Вот собственно его результат при выборе двух чекбоксов:

Код:
string(5) "1 , 4"
int(65000)
string(31) " AND brand_id IN ($check_brand)"
string(33) " AND price BETWEEN 1000 AND 65000"

В итоге фильтрация по цене работает, а фильтрация по id - нет. Вопрос состоит в том, почему в запросе $check_brand отображается в таком виде.

P.S. с помощью settype() ради интереса менял $check_brand на int, не помогло.
 

Kotofey

FloodMaster.
замени в этой строке:
PHP:
if (isset($check_brand)) { $querybrand = ' AND brand_id IN ($check_brand)';
Одинарные кавычки на двойные или выполни конкатенацию строки с переменной.
 
  • Like
Реакции: Emir

Emir

Новичок
замени в этой строке:
PHP:
if (isset($check_brand)) { $querybrand = ' AND brand_id IN ($check_brand)';
Одинарные кавычки на двойные или выполни конкатенацию строки с переменной.
Точно, двойные кавычки это же php код. Блин. Спасибо большое, все заработало.
 
Сверху