|
|
10.12.2012, 15:42
|
|
Гость
Гость
|
всем привет. уже устал биться с этой проблемой.перепробовал как и через php и через listquery. перелистал документацию но ничего не нашел в netcate как сделать диапазон значения поля. например у меня есть поле я ввожу в него значение 100...200. все бы ничего но мне нужно сделать поиск по этому полю. например еси пользователь введет 101 этот товар выйдет в список а еси 99 то уже не выйдет. как это сделать. помогите пожалуйста
|
|
|
11.12.2012, 12:23
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Используйте, например, такую 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
Спирин Дмитрий
Зарегистрирован: 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
Сообщений: 962
|
Дмитрий, мне кажется, что автор топика под полем подразумевал не поле компонента, а поле в некой поисковой HTML-форме.
|
|
|
11.12.2012, 12:56
|
|
MipH
Спирин Дмитрий
Зарегистрирован: 2004-12-22
Сообщений: 252
|
С автором было бы проще общаться, если бы он придерживался правил русского языка при написании...
У нас тут не чатик Кроватка все-таки.
bbzone@gmail.com | bbz.ru | miph.info | miph.ruВы можете обратиться ко мне, если необходима разработка функционала на NetCat
|
|
|
11.12.2012, 12:59
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Какой-то странный у вас запрос! Вы уверены, что в вашем случае требуется экранирование кавычек? И непонятно, что вы хотите получить в переменной 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
Сообщений: 962
|
Не знаю точно, в каком контексте вы используете 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));
|