ФорумПрограммированиеPHP для идиотов → Помогите слить 2 выпадающих меню.

Помогите слить 2 выпадающих меню.

  • cbone

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 6 февраля 2008 г. 3:59

    В общем тема такая: У меня есть компонент для Joomla EZRealty(для сайта недвижимости). В нем есть расширенный поиск(нас интересует стоимость недвижимости), но проблема заключается в том, что стоимость задается интервалом, и минимальное значение выбирается в первом выпадающем меню, а максимальное-во втором. Пример на http://crimeastar.info/ в поиске справа. А мне нужно склеить эти поля и чтоб в одном поле выбирался интервал цен, пример на http://sdam74.ru/

    Вот само поле, в котором мы выбираем минимальное значение:
    # Build Min Price select list

    $sql = "SELECT range as value, range as text FROM #__ezrealty_price WHERE published=1 ORDER by ordering";
    $database->setQuery($sql);
    if (!$database->query()) {
    echo $database->stderr();
    return;
    }

    $minpriceit[] = mosHTML::makeOption( '', _EZREALTY_SEARCH_MINPRI );
    $minpriceit = array_merge( $minpriceit, $database->loadObjectList() );
    $lists['minprice'] = mosHTML::selectList( $minpriceit, 'minprice', 'class="inputbox" size="1"','value', 'text', '');

    Так вот выводится результат поиска:

    if($minprice){ $where[] =" a.price>=".$minprice; }
    if($maxprice){$where[] =" a.price<=".$maxprice;}

    Так как мне нужен разбег в 200 рублей, я делаю вот это перед вычислением результата поиска:

    $maxprice=$minprice+200;

    Вроде все нормально начинает работать, но в поле, в котором мы выбираем значение пишется только минимальное значение, а не интервал. А мне нужен промежуток значений(как на http://sdam74.ru). Помогите пожалуйста.
  • cbone

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 6 февраля 2008 г. 7:06, спустя 3 часа 7 минут 27 секунд

    Разобрался. Смотрите результат на http://akvilonus.ru/
    Прямая ссылочка: http://akvilonus.ru/index.php?option=com_ezrealty&Itemid=34&task=search

    Решил так:
    Заменил sql запрос: $sql = "SELECT range as value, range as text FROM #__ezrealty_price WHERE published=1 ORDER by ordering";
    На:
    $sql = "SELECT range as value, concat(range,'-',range+200) as text FROM #__ezrealty_price WHERE published=1 ORDER by ordering";
  • Dimezis

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 18 августа 2012 г. 15:24, спустя 1655 дней 7 часов 17 минут

    ты мне уже, очень нравишься, судя по тому что ты несешь

Пожалуйста, авторизуйтесь, чтобы написать комментарий!