Есть функция поиска, которая выбирает условия поиска, исходя из значения $select. Но Это не работает, выполнятся всегда поиск по значению $select == 'all'. Сама функция:
function magazine_search($query, $select){ if($select == 'all') { $query = clear($query); try { $dsn = sprintf('mysql:host=%s;dbname=%s;charset=utf8', HOST, DB); $pdo = new PDO($dsn, USER, PASS); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo "<p>Запрос на выборку данных из бызы не прошёл. Напишите об этом администратору <a href='mailto:admin@torawhite.ru'>admin@torawhite.ru</a>.</p><br>ERROR: " . $e->getMessage(); exit; } $sql = 'SELECT * FROM articles WHERE article_title LIKE :query1 OR article_description LIKE :query2 OR article_text LIKE :query3'; $data = $pdo->prepare($sql); $data->bindValue(':query1', '%' . $query . '%', PDO::PARAM_STR); $data->bindValue(':query2', '%' . $query . '%', PDO::PARAM_STR); $data->bindValue(':query3', '%' . $query . '%', PDO::PARAM_STR); $data->execute(); $result_search = $data->fetchAll(PDO::FETCH_ASSOC); if (count($result_search) < 1) { $result_search['notfound'] = "<div class='search_title'><span>По Вашему запросу статей не найдено</span></div>"; } return $result_search; }elseif ($select == 1) { $query = clear($query); try { $dsn = sprintf('mysql:host=%s;dbname=%s;charset=utf8', HOST, DB); $pdo = new PDO($dsn, USER, PASS); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo "<p>Запрос на выборку данных из бызы не прошёл. Напишите об этом администратору <a href='mailto:admin@torawhite.ru'>admin@torawhite.ru</a>.</p><br>ERROR: " . $e->getMessage(); exit; } $sql = 'SELECT * FROM articles WHERE article_title LIKE :query1 OR article_description LIKE :query2 OR article_text LIKE :query3 AND article_par_id = :article_par_id'; $data = $pdo->prepare($sql); $data->bindValue(':query1', '%' . $query . '%', PDO::PARAM_STR); $data->bindValue(':query2', '%' . $query . '%', PDO::PARAM_STR); $data->bindValue(':query3', '%' . $query . '%', PDO::PARAM_STR); $data->bindValue(':article_par_id', (int)$select, PDO::PARAM_INT); $data->execute(); $result_search = $data->fetchAll(PDO::FETCH_ASSOC); if (count($result_search) < 1) { $result_search['notfound'] = "<div class='search_title'><span>По Вашему запросу статей не найдено</span></div>"; } return $result_search; }}
дальше перечисляются ещё условия, но также в зависимости от цифры в переменной $select
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
Torawhite
Здравствуйте!
Есть функция поиска, которая выбирает условия поиска, исходя из значения $select. Но Это не работает, выполнятся всегда поиск по значению $select == 'all'. Сама функция:
дальше перечисляются ещё условия, но также в зависимости от цифры в переменной $select
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.