Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5

Поиск по сайту! несколько параметров...

24.09.2011, 01:34. Показов 1330. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу написать поиск по сайту, на котором имеются файлы, у каждого описание, коментарии, размер, рейтинг и т.п..... вопрос в следующем, из формы будут отправлятся данные поиска - ключевые слова для имени файла, размера, рейтинга некоторые будут пустые, некоторые с данными, как сделать чтоб те которые непустые включались в sql запрос а те которые пустые - игнорировались, и так чтобы несоздавать кучу запросов и условий для каждого существования и несуществования переменной, а так чтобы в запрос включились только те переменный в которых есть данные.

например имя файла, размер мы вводим, а дату, количество закачек и рейтинг оставляем пустыми, поиск будет осуществлятся по введенному имени файла, размеру, а количество закачек будет искать с нулевым, рейтинг нулевой и т.д. - чтоб этого избежать - можно составить кучу условий для каждой из комбинаций поиска(проверять на существование\содержимое переменных), но таких комбинаций очень много будет и это неудобно... как поступить по умному, как сделать так, чтоб запрос включал в себя только непустые переменные(те поля которые заполнили в форме)?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.09.2011, 01:34
Ответы с готовыми решениями:

Поиск по сайту
Всем привет! В очередной раз не такой опытный юзер обращается за помощью)) Делаю поиск по сайту,написал такой код,выводит только название...

Поиск по сайту
Объясните пожалуйста как организовать поиск по сайту? Верхней по блок так как вся информация находится там. Интересуют разные варианты:...

Поиск по сайту
наверняка этот вопрос уже рассматривался, но что-то я не нашла такой темы.... Задача следующая. Есть сайт - пока не размещен на...

3
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
24.09.2011, 02:23
Цитата Сообщение от Sanu0074 Посмотреть сообщение
как сделать чтоб те которые непустые включались в sql запрос а те которые пустые - игнорировались
с чего ты взял, что по тем параметр, которых ты не указал будет идти поиск?
Допустим у тя поле и куча чекбоксов и радиобатонов, и как в этом случае поисковик начнет искать по параметрам которых нет?
На счет условий, думаю их не много получается. Напр.,
PHP
1
2
3
$void = ""; // пустая переменная, в котрую будут включаться отмеченные параметры
// ...........
$void .= " OR поле = %параметру%";
запрос типа такой
SQL
1
SELECT * FROM таблица WHERE (1=0) $void .....
в $void OR может меняться на AND, если будет выбрано при поиске параметр - только по заданному условию.

такое решение
2
 Аватар для c4boomb
198 / 166 / 23
Регистрация: 20.04.2011
Сообщений: 750
Записей в блоге: 1
24.09.2011, 10:13
PHP
1
2
3
if(!isset($pole)) {
print "pole не заполнено(пустое)";
}
или

PHP
1
2
3
if(isset($pole)) {
print "pole заполнено( не пустое) и сейчас мы с ним выполним действие))";
}
0
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
24.09.2011, 12:59  [ТС]
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
с чего ты взял, что по тем параметр, которых ты не указал будет идти поиск?
Допустим у тя поле и куча чекбоксов и радиобатонов, и как в этом случае поисковик начнет искать по параметрам которых нет?
На счет условий, думаю их не много получается. Напр.,
PHP
1
2
3
$void = ""; // пустая переменная, в котрую будут включаться отмеченные параметры
// ...........
$void .= " OR поле = %параметру%";
запрос типа такой
SQL
1
SELECT * FROM таблица WHERE (1=0) $void .....
в $void OR может меняться на AND, если будет выбрано при поиске параметр - только по заданному условию.

такое решение
т.е. сам запрос, вернее его часть которая идет после WHERE, можно составить в переменной $void, а потом просто сделать вот так: SELECT * FROM таблица WHERE $void
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.09.2011, 12:59
Помогаю со студенческими работами здесь

поиск по сайту
В таблице есть ячейка tema(тип text) с FULLTEXT, и есть 1 запись, где в ячейке tema указано число "11111". Пробую найти...

Поиск по сайту
скрипт формы поиска по сайту.почему скрипт не отрабатывает запрос,тоесть когда я ввожу запрос не искать менее 4-х символов скрипт...

Поиск по сайту
Здравствуйте! Помогите организовать поиск по сайту. Нашёл код, попытался его прикрутить, но выдаёт при любом запросе и его отсутствии: Вы...

Поиск по сайту
Пишу поиск по сайту. Сам поиск у меня сейчас работает нормально, всё ищет без проблем. Проблема только с выводом результатов... Всё...

Поиск по сайту
Помогите пожалуйста, хочу сделать поиск по сайту простенький, только одна беда с запросом. SELECT * FROM topic WHERE MATCH...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru