|
|
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

Зарегистрирован: 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

Зарегистрирован: 2005-04-04
Сообщений: 1546
|
Вы немного не так понимаете.
1. Вы бы для начала сделали так как вам посоветывали.
2. Если уж очень критичен тип переменной, то там же в системных настройках можете этот тип проверять, начиная от банального приведения типа $myvar = (int)$srchPat[], заканчивая допустим проверкой if (!ereg("^[0-9]{1,17}$",$srchPat[...])) {die('Hacker?! Hm...');}
зы. В любом случае все эти проверки и придирки идут к одной теме возможных атак - sql инъекции, а это уже не в рамках данного поста, читайте сами, изучайте, думайте как лучше... Удачи
Temet nosce...
|