Регистрация
Вход через соцсети
Восстановление пароля

диапазон значения поля

Новый топик
10.12.2012, 15:42
Ответить | Цитировать
Гость
Гость

всем привет. уже устал биться с этой проблемой.перепробовал как и через php и через listquery. перелистал документацию но ничего не нашел в netcate как сделать диапазон значения поля. например у меня есть поле я ввожу в него значение 100...200. все бы ничего но мне нужно сделать поиск по этому полю. например еси пользователь введет 101 этот товар выйдет в список а еси 99 то уже не выйдет. как это сделать. помогите пожалуйста
11.12.2012, 12:23
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Используйте, например, такую SQL-выборку:
select ... from MessageXX where Price>=".abs(intval($priceMin))." AND Price<=".abs(intval($priceMax))."

Приведите, пожалуйста, Ваш вариант использования listquery - попробуем разобраться, почему не работает.

11.12.2012, 12:26
Ответить | Цитировать
Гость
Гость

спасибо ща буду разбираться. а насчет своего listquery он почти похож с вашим. но для этого способа мне придется создавать еще два поля, а вот не хотелось бы((
11.12.2012, 12:31
Ответить | Цитировать
MipH
Спирин Дмитрий
MipH

Зарегистрирован:
2004-12-22
Сообщений: 252

Нет таких типов данных ни в неткете, ни в мускуле.
Или используете 2 поля хранения границ, или пишите свои SQL-запросы, которые парсят текстовое поле типа 100...200, чтобы найти соответствующие строки.

bbzone@gmail.com | bbz.ru | miph.info | miph.ru
Вы можете обратиться ко мне, если необходима разработка функционала на NetCat
11.12.2012, 12:52
Ответить | Цитировать
Гость
Гость

написал сейчас вот это
Код:
$f_InputVoltage = listQuery (\"select * from Message$classID where InputVoltage>=\".abs(intval($f_Min)).\" AND InputVoltage<=\".abs(intval($f_Max)).\"\")
ну как бы ниче не происходит в чем проблема??? написал это в разделе "Объект в списке" есть 3 поля $f_InputVoltage $f_Min f_Max . хотелось бы еще когда я заполню мин мах он этот диапазон записал в $f_InputVoltage чтобы поиск работал потом. или ваще как это сделать?
11.12.2012, 12:52
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Дмитрий, мне кажется, что автор топика под полем подразумевал не поле компонента, а поле в некой поисковой HTML-форме. улыбка

11.12.2012, 12:56
Ответить | Цитировать
MipH
Спирин Дмитрий
MipH

Зарегистрирован:
2004-12-22
Сообщений: 252

С автором было бы проще общаться, если бы он придерживался правил русского языка при написании... да
У нас тут не чатик Кроватка все-таки.

bbzone@gmail.com | bbz.ru | miph.info | miph.ru
Вы можете обратиться ко мне, если необходима разработка функционала на NetCat
11.12.2012, 12:59
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Какой-то странный у вас запрос! Вы уверены, что в вашем случае требуется экранирование кавычек? И непонятно, что вы хотите получить в переменной f_InputVoltage, особенно учитывая, что вы не задали шаблон вывода listquery. ;-)

Попробуйте вот такую команду вставить в шаблон вывода (если у вас неткат 4.x):
".listQuery ("select Message_ID as mid from Message$classID where InputVoltage>=".abs(intval($f_Min))." AND InputVoltage<=".abs(intval($f_Max))."", "ID=\$data[mid]<br />")."

Должно будет выдать что-то типа этого:
ID=20
ID=33

11.12.2012, 13:05
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Не знаю точно, в каком контексте вы используете listquery, но чувствую, что проще было бы просто в системных настройках компонента задать такие строчки:
$query_where = "1";
if($f_Min) $query_where .= " AND InputVoltage>=".abs(intval($f_Min));
if($f_Max) $query_where .= " AND InputVoltage<=".abs(intval($f_Max));

198 196 2012-12-11 13:05:25 12790
Описание проекта