Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Выборка от-до из двух полей

29.02.2008, 04:53
Гость
Гость

Помогите пожалуйста разобраться с таким вопросом.
Есть 2 числовых поля в шаблоне-минимальная и максимальная цена товара.
В форме поиска параметры выборки от и до определенной цены.
Как вывести запись, если хоть одно из полей попадает в диапазон?
Т.е., к примеру, минимальная цена $10, максимальная $100. Пользователь задает диапазон от 50 до 80. Запись должна быть выведена, но как это объяснить системе? улыбка
29.02.2008, 10:40
resident
Веб-группа «Дабл Ю»

Зарегистрирован:
2005-01-10
Сообщений: 336

AND ( 50 BETWEEN MinPrice AND MaxPrice OR 80 BETWEEN MinPrice AND MaxPrice )
29.02.2008, 15:20
Гость
Гость

resident писал(а):
AND ( 50 BETWEEN MinPrice AND MaxPrice OR 80 BETWEEN MinPrice AND MaxPrice )


Моих знаний недостаточно, чтобы уразуметь куда именно и в каком виде нужно всавить этот код.. грустный
Не могли бы подробнее растолковать..?
Структура понятна, но как применить?
25.03.2008, 16:57
Гость
Гость

resident писал(а):
AND ( 50 BETWEEN MinPrice AND MaxPrice OR 80 BETWEEN MinPrice AND MaxPrice )


Кто нибудь может подсказать как применить данный код?
Это я так понимаю каким то образом нужно вставить в системные настройки шаблона? С помощью руководства не могу разобраться в каком именно виде записать этот запрос..((
25.03.2008, 20:48
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Вам привели пример небольшой составной части общего sql-запроса, который выводит требуемые данные по шаблону. В более конечном варианте это должно выглядеть например вот так:
Код:

$query_where = "( <тут минимальная цена> BETWEEN MinPrice AND MaxPrice OR <тут максимальная цена> BETWEEN MinPrice AND MaxPrice )";

где MinPrice и MaxPrice - соответсвующие поля в шаблоне, в которых указана минимальная и максимальная цена.

можете также для интереса дописать в конце системных настроек код, который выведет полный результирующий sql-запрос
Код:
echo $message_select;



Temet nosce...
23.04.2008, 03:11
Гость
Гость

Спасибо, это понятно, но минимальная и максимальная цена передается через форму поиска пользователем, а в системных настройках, насколько я понимаю, srchPat[] не преобразуется в число. Как передать в запрос это число из формы или может есть другие варианты..?
23.04.2008, 10:14
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Вы немного не так понимаете.
1. Вы бы для начала сделали так как вам посоветывали.
2. Если уж очень критичен тип переменной, то там же в системных настройках можете этот тип проверять, начиная от банального приведения типа $myvar = (int)$srchPat[], заканчивая допустим проверкой if (!ereg("^[0-9]{1,17}$",$srchPat[...])) {die('Hacker?! Hm...');}

зы. В любом случае все эти проверки и придирки идут к одной теме возможных атак - sql инъекции, а это уже не в рамках данного поста, читайте сами, изучайте, думайте как лучше... Удачи


Temet nosce...
198 196 2008-04-23 10:14:15 7336
Описание проекта