Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: RegExp
Войти
Регистрация
Восстановить пароль
 
Кирилл0987
0 / 0 / 0
Регистрация: 22.05.2016
Сообщений: 7
1

Как правильно мне найти совпадение?

08.09.2017, 22:08. Просмотров 163. Ответов 0
Метки нет (Все метки)

В общем я делаю динамичный фильтр по каталогу товаров (пытаюсь).
И вот мне необходимо чтобы в выбранных checkbox(сах) стоял checked (ну чтобы после обновления страницы видно было что пользователь выбрал)
Т.к. я не гений а просто новичок то вот что я придумал:
1. ... пропустим много чего и перейдем к сути вопроса
2. Я передаю массив данных где под каждой ячейкой с нужным именем находится еще один массив но с уже выбранными данными
Пример:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Array
(
    [material] => Array
        (
            [0] => Ясень
            [1] => Ясень, Дуб
        )
 
    [width] => Array
        (
            [0] => 100
        )
 
    [external_width] => Array
        (
            [0] => 118
        )
 
)
3. Далее я пытаюсь его обработать так чтобы у выбранных checkbox(ов) стоял checked
Вот что мне пришло в голову последнее:
$fil_arr_checked - тот самый массив из примера выше;$key - название строчки(Например: material или width);$value_1 - значение выбранного checkbox(са)(Например Ясень или Ясень, Дуб или 88 );
PHP
1
2
3
4
5
6
7
8
9
10
if( isset($fil_arr_checked[$key]) and !empty($fil_arr_checked[$key]) ){
        $fil_str_checked = implode(",", $fil_arr_checked[$key]);
        if( preg_match("#.*{$value_1}.*#",$fil_str_checked) ){
            $checked = "checked";
        }else{
            $checked = "";
        }
    }else{
        $checked = "";
}
В общем этот код тоже не идеален (я думаю вы уже поняли почему), в связи с чем прошу помощи у знатоков в этом деле.
Прошу сильно не ругать ибо я понимаю что все это говнокод.
Если необходима более подробная информация вот ссылка на сайт с конкретным фильтром - вы можете его скачать (на это есть специальные программы) http://kirill24.ru/?category=41 .
Надеюсь всем понятно что я имел в виду, если нет пишите попытаюсь ответить на все вопросы.

Ах да и в заголовке написано как найти точное совпадение. В данном варианте обработки я использую preg_match чтобы определить есть ли данная строка в implode из массива. Вроде все норм - ан нет. Вот если выбрать Ясень, Дуб то checked будет использоваться и в Ясень и в Ясень, Дуб.

И если кто-нибудь знает нормальный плагин там какой-нибудь или сайт,видосик где описано как правильно и толково написать динамический фильтр то я бы не отказался от ссылки.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2017, 22:08
Ответы с готовыми решениями:

Найти и заменить 3 совпадение
Допустим есть текст 'asdasdasasd<br>asdasfdasfs<br>afasfafsasffasafs<br>sdaasdasdas' и так далее...

Как мне найти в коде все ссылки
Как мне найти в коде все ссылки с <a href="****" rel="nofollow">Анкор</a>

Как мне правильно сделать radiobutton
Мне нужно что когда я запускаю программу у меня автоматически у же были выбраны rdb. Тоест что я...

Как найти неявное совпадение дублей
Привет Помогите составить запрос SQL! Что мне нужно: Найти совпавшие записи по полям и по...

Как мне правильно реализовать связь между таблицами
Имеются такая вот схема данных, точнее ее часть (смотрите во вложениях) Не устраивает меня связь...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.09.2017, 22:08

Как найти в файле совпадение и ввести его в таблицу
День добрый. Подскажите как можно реализовать поиск в таблице по двум критериям и внести значение в...

Как мне правильно и быстро восстановить с диска который теряется
Всем привет. Есть диск WD на 500гб 2008 года выпуска. с недавнего времени начал пропадать из "мой...

Я не могу разобраться как мне правильно подключить исполняемый файл .срр
Доброго всем времени суток. Начал изучать Visual С++. Конечно интерестный язык, но довольно таки...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru