- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Это не круто, это баян.
По-другому в сущности вы не сделаете. Я же задал вопрос - откуда вы берете список жанров чтобы предоставить выбор? Если у вас текстовое поле, то получить сводку можно группировкой или хотя бы через select distinct.
Так откуда вы берете сведения о жанрах чтобы вывести эти чебоксы?
---------- Добавлено 19.08.2015 в 18:17 ----------
Например у вас так
название | год | жанр
---------+-----+----
Выстрел в гробу 1999 ужосы
Смертельное убийство 1998 детектив
Капитальный гараж 1997 драма
Выстрел в гробу-2 2015 ужосы
Как теперь узнать сколько жанров в бд представлено? Например так select distinct genre from table; Получим ужосы, детектив, драма.
Но если написать
Выстрел в гробу-2 2015 ужасы
то получим ужосы, детектив, драма, ужасы
Теперь понятно?
Код выше работает. Но опять таки со всей той проблемой, значения идут в поиск как для одной новости.
or and где это менять?
Жанры, обычный текст, который пишет юзер, можно написать что угодно, поиск производится по слову. Как в коде выше.
Когда сделаете нормализацию, то урл запроса по жанрам может быть таким
example.org/news?genre=2-4
где 2 и 4 - значения связанных полей. Поскольку через эти же самые значения идет связь записей двух таблиц, то их не так просто поменять в процессе эксплуатации сайта, следовательно они условно вечные.
В контроллере вы просто разбиваете строку ключа genre по дефисам и проверив что там все нормально соединяете через запятую и закладываете уже в запрос к бд.
Так вот простота в слое проектирования БД оборачивается жесточайшим геморроем в слое программирования. Чем больше вы потратите ума и сил на базу данных, тем меньше придется их тратить на коды и тем красивее будут коды и тем легче будет развивать юзабилите а значит впаривать и продавать.
---------- Добавлено 19.08.2015 в 18:29 ----------
or and где это менять?
Да вообще по барабану как вы передаете на сервер эти данные. Самое простое решение тут - отгружать форму с чеками, нафиг там все эти компиляторы нужны. Браузер сам закомпилирует как надо.
Надо смотреть серверную часть, как парсится запрос и во что превращается. Гоните обработчик на php.
---------- Добавлено 19.08.2015 в 18:33 ----------
А, блин, у вас же GET. Тогда форма отменяется, она некрасиво передается. Да, урл надо собирать самостоятельно.
Чтобы понять как он обрабатывается, надо видеть коды обработчика. Это - серверный скрипт, на php. Или надо видеть ману по модулю (плагину) чтобы понять как ему этот урл кодировать.
---------- Добавлено 19.08.2015 в 18:35 ----------
Я оперирую понятиями абсолютной свободы и не всегда успеваю сообразить что народ находится в тисках плагинов к цмскам.
---------- Добавлено 19.08.2015 в 18:37 ----------
Жанры, обычный текст, который пишет юзер, можно написать что угодно, поиск производится по слову.
Это не поиск, это выборка. Чтобы искать по жанру как по слову, вместо чекбоксов должно быть текстовое поле.
---------- Добавлено 19.08.2015 в 18:43 ----------
Вы же понимаете немного в программировании, значит поймете что если
а = 1
то запрос
если а = 1 И а = 2 И а = 3 не имеет смысла. а может быть "равно" только одному значению, фундаментально.
Логическое И применяется когда мы проверяем несколько переменных
если а = 1 И б = 2 И в = 3 тогда смысл появляется
для проверки нескольких значений одной переменной используется оператор логическое ИЛИ
если а = 1 ИЛИ а = 2 ИЛИ а = 3 то
Формат урла не связан с запросом, но может быть связан если модель пожелает. Если она понимает разделитель, например && транслирует как есть или меняет на AND, то логично предположить что заменив && на || в урле мы, теоретически, можем сообщить обработчику заменять || на OR
В общем определенно на ваш вопрос можно ответить только видя коды серверного скрипта или документацию на плугин-модуль-модель или что в дле.
---------- Добавлено 19.08.2015 в 18:47 ----------
В реальном SQL должно быть так
... where genre = "комедия" or genre = "детектив"
или с применением IN()
... where genre in("комедия", "детектив")
|| не срабатывают(
вот пример сайта какой мне нужен фильтр anime-rus.ru
Он без использования бд. Работает так же как и примеры выше.
Могу дать js код этого фильтра, что касается сортировки, в коде, я там так ничего и не понял)
Так же для работы изначального варианта(код из первого поста)
В show.short.php был добавлен код:
Возможно, сдесь тоже требуются изменения..
Странно, тут добовляются ***, пигу одно, а они заменяются тут на ***
бб-код php тут не работает, используйте генеральный code
Без цитирования серверного скрипта - обработчика ваших запросов - вы не сможете сами себе помочь. Жаба тут не при чем, у вас гет, его без жабы элементарно протестировать вписывая нужные параметры в урл и смотреть что в браузер вывалилось.
бб-код php тут не работает, используйте генеральный code
Без цитирования серверного скрипта - обработчика ваших запросов - вы не сможете сами себе помочь. Жаба тут не при чем, у вас гет, его без жабы элементарно протестировать вписывая нужные параметры в урл и смотреть что в браузер вывалилось.
Да вот пытаюсь найти этот заветный адрес, да никак(
kostyanet, видел сайт где так же фильтр по доп полю сюжет, в адресе сайт.ру/genre=драма-комедия. Как это сделать?
Не адрес надо искать, а файл php. Какой файл обрабатывает фрагмент пути - xsearch, или как он там? Например вы дописали проверку аякс-запроса по заголовкам в какой файл? Наверно в тот самый. Его надо или целиком процитировать/выложить как файл, или найти то самое место где урл разбирается, а если он разбирается до того, то найти где применяются полученные из урла данные.
Как вы увидели где-то, я так выше предлагал сделать, поскольку условие там всегда одно - или. Делается просто. Получив фрагмент пути как строку мы его колем на элементы, проверяем каждый элемент и собираем обратно в строку, например
Однако если в словах подразумеваются дефисы, то дефисы в качестве разделителя юзать будет нельзя. Я не знаю жанров через дефис, если таких нет, то можно.
Ищите файл.
htaccess:
Нашел такую тему: http://dle-faq.ru/faq/lamers/15759-posle-zameny-xfsearch-na-year-genre-ne-pravilno-otobrazhaetsya-yearpade2.html
Вроде то что вы описывали? примерно