Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/55: Рейтинг темы: голосов - 55, средняя оценка - 4.73
0 / 0 / 1
Регистрация: 11.08.2015
Сообщений: 96

Фильтр поиска для сайта

08.05.2017, 18:34. Показов 12163. Ответов 51
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как организовать такой фильтр..
Может натолкнете на путь истинный?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.05.2017, 18:34
Ответы с готовыми решениями:

Фильтр для поиска
Доброго времени суток Появилось желание сделать фильтр для поиска с выбором подходящих вариантов как в поисковых системах типа...

Движок поиска для самописного сайта
Есть самописный движок, необходимо организовать поиск по БД (mysql), по двум полям - русское название и название на английском языке. При...

Фильтр поиска
Хочу сделать фильтр по стране, городу, половой принадлежности и возрасту. Как это можно сделать? Я знаю как ищется по определенному...

51
0 / 0 / 1
Регистрация: 11.08.2015
Сообщений: 96
08.05.2017, 18:36  [ТС]
С возможностью выбора нескольких значений. К примеру можно выбрать несколько районов..
0
35 / 35 / 11
Регистрация: 17.03.2017
Сообщений: 250
08.05.2017, 18:40
HTML5
1
2
3
<p>Выбор района: <input  name='имя для поля' type='checkbox'>ГГМ <input name ='имя для поля' type='checkbox'>BM3....</p>
 
<p>Колличество комнат: <input  name='имя для поля' type='checkbox'>1 <input name ='имя для поля' type='checkbox'>2....</p>
0
0 / 0 / 1
Регистрация: 11.08.2015
Сообщений: 96
08.05.2017, 19:11  [ТС]
Мне бы обработчик написать.. Форма у меня есть.
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
08.05.2017, 20:21
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<form method="post" action="">
    <p>Выбор района</p>
    <p>  
       <input type="checkbox" name="district[]" value="d1">ГГМ<br>
        <input type="checkbox" name="district[]" value="d2">ВМЗ<br>
        <input type="checkbox" name="district[]" value="d3">Выя<br> 
        <input type="checkbox" name="district[]" value="d4">Центр<br>
        <input type="checkbox" name="district[]" value="d5">Красный Камень<br>
        <input type="checkbox" name="district[]" value="d6">Вагонка<br>
        <input type="checkbox" name="district[]" value="d7">Тагилстой<br> 
        <input type="checkbox" name="district[]" value="d8">Северный<br>
   </p>
   <p>Количество комнат</p>
   <p>
        <input type="checkbox" name="count[]" value="c1">1<br>
        <input type="checkbox" name="count[]" value="c2">2<br> 
        <input type="checkbox" name="count[]" value="c3">3<br> 
        <input type="checkbox" name="count[]" value="c4">4<br> 
        <input type="checkbox" name="count[]" value="c5">5<br> 
        <input type="checkbox" name="count[]" value="cb5">более 5<br>
   </p>
   <p><input type="submit" name="sub" value="Отправить"></p>
  </form>
<?php 
if(isset($_POST['sub'])) {
    $district = implode("','",$_POST['district']);
    $count = implode("','",$_POST['count']);
    $sql = "select * from table_name where district in ('".$district."') and count in ('".$count."')";
    //...........
}
?>
0
0 / 0 / 1
Регистрация: 11.08.2015
Сообщений: 96
08.05.2017, 20:48  [ТС]
Сделал по Вашему примеру.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
if(isset($_POST['sub'])) {
    $district = implode("','",$_POST['district']);
    $count = implode("','",$_POST['count']);
    $result = "select * from choice_tb where district in ('".$district."') and count in ('".$count."')";
    //...........
    var_dump($result);
    if (mysql_num_rows($result)>0)
    {
        
      $row = mysql_fetch_array($result);
        
      do
      {
        
       echo '
       
       <p> <a href="view.php?id='.$row["id"].'">'.$row['adress'].'</a> </p>
       
       ';
        
      }  
        while($row = mysql_fetch_array($result));
        
    }
    
}
Выводит ошибку: Warning: mysql_num_rows() expects parameter 1 to be resource, string given in
0
Эксперт PHP
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
08.05.2017, 21:44
1. Не создавайте дубли тем.

Цитата Сообщение от krayder Посмотреть сообщение
//...........
2. Вам показали sql-запрос, теперь нужно его запустить с помощью mysql_query.
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
08.05.2017, 22:28
Цитата Сообщение от krayder Посмотреть сообщение
Сделал по Вашему примеру.
а где запрос в базу?
я дал только пример самого запроса select(неужели не видно)
нужно еще подключится к базе и выполнить запрос
как-то так
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        <?php
        if (isset($_POST['sub'])) {
            $mysqli = new mysqli('localhost', 'login', 'password', 'db');
            if ($mysqli->connect_error) {
                die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
            }
 
            $district = implode("','", $_POST['district']);
            $count = implode("','", $_POST['count']);
           
            $sql = "select * from table_name where district in ('" . $district . "') and count in ('" . $count . "')";
            $res = $mysqli->query($sql);
            if ($mysqli->errno) {
                die('Select Error (' . $mysqli->errno . ') ' . $mysqli->error);
            } else {
                while($row = $res->fetch_assoc()) {?>
                    <p> <a href="view.php?id=<?php echo $row['id'];?>"><?php echo $row['adress'];?></a> </p>
                <?php }
            }
        }
        ?>
Добавлено через 28 минут
протупил немного. блок который в else пропишите без else. или с else, но тогда вместо die, echo
0
0 / 0 / 1
Регистрация: 11.08.2015
Сообщений: 96
08.05.2017, 22:31  [ТС]
Выводит пустую страницу.. Хотя поля в базе есть.
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
08.05.2017, 22:33
p.s.
это просто пример. если будет ошибка, при подключении или при выполнении запроса, скрипт выведет сообщение и прекратит работу.
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
08.05.2017, 22:35
Цитата Сообщение от krayder Посмотреть сообщение
"select * from choice_tb where district in ('".$district."') and count in ('".$count."')";
вы, выполняете этот запрос? точь в точь?
0
0 / 0 / 1
Регистрация: 11.08.2015
Сообщений: 96
08.05.2017, 22:35  [ТС]
"select * from choice_tb where rayon in ('Кр.камень') and level in ('4')"Вот что выводит через var_dump.
0
0 / 0 / 1
Регистрация: 11.08.2015
Сообщений: 96
08.05.2017, 22:36  [ТС]
$sql = "select * from choice_tb where rayon in ('" . $rayon . "') and level in ('" . $level . "')";
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
08.05.2017, 22:38
Цитата Сообщение от krayder Посмотреть сообщение
Вот что выводит через var_dump.
правильно
Цитата Сообщение от krayder Посмотреть сообщение
$result = "select * from choice_tb where district in ('".$district."') and count in ('".$count."')";
//...........
var_dump($result);
вы наконец подключились к базе, выполнили запрос?
0
0 / 0 / 1
Регистрация: 11.08.2015
Сообщений: 96
08.05.2017, 22:45  [ТС]
Пустая страница.

Добавлено через 2 минуты
Отрывок формы <input type="checkbox" name="rayon[]" value="Кр.камень">Кр.камень<br>
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
08.05.2017, 22:52
покажите полностью код, который сейчас используете.
0
0 / 0 / 1
Регистрация: 11.08.2015
Сообщений: 96
08.05.2017, 22:59  [ТС]
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<form method="post" action="input.php">
    <p>Выбор района</p>
    <p>  
       <input type="checkbox" name="rayon[]" value="ГГМ">ГГМ<br>
        <input type="checkbox" name="rayon[]" value="ВМЗ">ВМЗ<br>
        <input type="checkbox" name="rayon[]" value="Выя">Выя<br> 
        <input type="checkbox" name="rayon[]" value="Центр">Центр<br>
        <input type="checkbox" name="rayon[]" value="Кр.камень">Кр.камень<br>
       
   </p>
   <p>Количество комнат</p>
   <p>
        <input type="checkbox" name="level[]" value="1">1<br>
        <input type="checkbox" name="level[]" value="2">2<br> 
        <input type="checkbox" name="level[]" value="3">3<br> 
        <input type="checkbox" name="level[]" value="4">4<br> 
        <input type="checkbox" name="level[]" value="5">5<br> 
        <input type="checkbox" name="level[]" value="cb5">более 5<br>
   </p>
   <p><input type="submit" name="sub" value="Отправить"></p>
  </form>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
 
 
 
 
        if (isset($_POST['sub'])) {
            $mysqli = new mysqli('localhost', 'admin', '1234', 'choice');
            if ($mysqli->connect_error) {
                die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
            }
 
            $rayon = implode("','", $_POST['rayon']);
            $level = implode("','", $_POST['level']);
           
            $sql = "select * from choice_tb where `rayon` in ('" . $rayon . "') and `level` in ('" . $level . "')";
            $res = $mysqli->query($sql);
            var_dump($sql);
            if ($mysqli->errno) {
                echo('Select Error (' . $mysqli->errno . ') ' . $mysqli->error);
            } else {
                while($row = $res->fetch_assoc()) {?>
                    <p> <a href="view.php?id=<?php echo $row['id'];?>"><?php echo $row['adress'];?></a> </p>
                <?php }
            }
        }
        
?>
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
08.05.2017, 23:07
попробуйте так
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
        <?php
        if (isset($_POST['sub'])) {
            $mysqli = new mysqli('localhost', 'admin', '1234', 'choice');
            if ($mysqli->connect_error) {
                die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
            }
 
            $rayon = implode("','", $_POST['rayon']);
            $level = implode("','", $_POST['level']);
 
            $sql = "select * from choice_tb where `rayon` in ('" . $rayon . "') and `level` in ('" . $level . "')";
            $res = $mysqli->query($sql);
            var_dump($sql);
            if ($mysqli->errno) {
                echo 'Select Error (' . $mysqli->errno . ') ' . $mysqli->error;
            } else {
                if($res) {
                    while ($row = $res->fetch_assoc()) {?>
                    <p> <a href="view.php?id=<?php echo $row['id']; ?>"><?php echo $row['adress']; ?></a> </p>
                    <?php }
                } else {?>
                    <p>данных в базе не найдено</p>
               <?php }
            }
        }
        ?>
0
0 / 0 / 1
Регистрация: 11.08.2015
Сообщений: 96
08.05.2017, 23:28  [ТС]
string(75) "select * from choice_tb where `rayon` in ('Кр.камень') and `level` in ('4')"
Все что выводит..

Добавлено через 4 минуты
Пустая страница приходит..

Добавлено через 11 минут
Может у меня версия PHP старая?
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
08.05.2017, 23:36
в начало файла
PHP
1
2
error_reporting(E_ALL);
ini_set('display_errors', 1);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.05.2017, 23:36
Помогаю со студенческими работами здесь

Фильтр поиска
Всем не спящим привет. Я все никак не могу сделать нормальный запрос к бд, что бы работал фильтр. Может кто что подскажет. И так есть у нас...

Фильтр поиска из SQL
Добрый день . Есть сайт заявок нужно реализовать поиск по категориям . Никак немогу разобраться . Суть такова Выбираем несколько...

Фильтр для сайта
Всем привет! Скажу сразу я не опытный программист PHP и если что-то не так, прошу не агрится. Есть код с сайта, в нем разметка селект от...

Ядро для умного поиска. Алгоритм. Создать поиск для сайта
Доброго времени суток. Хочу реализовать поиск по статьям на сайте. И надеюсь на ваше помощь. Есть таблица, где мы храним айди...

Скрипт (система) поиска для сайта
Подскажите ХОРОШИЙ скрипт поиска по сайту. Сайт написан на php. Все страницы на php. Не предлагайте GOOGLE, пожалуйста! Добавлено...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru