Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.01.2013, 12:05
Интересующийся
Отправить личное сообщение для troi88 Посмотреть профиль Найти все сообщения от troi88
 
Регистрация: 07.01.2013
Сообщений: 14

Доработка JQuery Autocomplete
Возникла такая проблема и решил обратиться к Вам как к специалистам, хорошо разбирающимся в данной области. Суть вот в чем. Вот есть пример реализации автозаполнения поля город http://www.instantcms.ru/blogs/lunyi...-profilja.html.
Я его прикрутил на странице регистрации. Все отлично работает. Нужно сделать на основе этого варианта, чтобы поле профессия работало по такому же прицепу? Т.е. на странице регистрации имеются несколько полей, из них поле "город" и поле "профессия" должны обладать функцией автозаполнения по примеру выше. Списки городов и профессий хранятся в базе данных в таблице proff. Нужно переделать файл php, делающий запрос к базе данных и возвращающий ответ. Вот обработчик поля город:

<?php
define('PATH', dirname(__FILE__));
define("VALID_CMS", 1);

include(PATH.'/core/cms.php');

$inCore = cmsCore::getInstance();
$inDB = cmsDatabase::getInstance();

$city = $inCore->request('query', 'str');
if(!$city)exit;

//Идентификатор главной страны
$id_main_country = 1;

$sql = "SELECT s.id_city, s.id_region, s.id_country, s.city_name_ru, r.region_name_ru, c.country_name_ru, COUNT( p.id ) AS popule
FROM cms_geo_cities s
LEFT JOIN cms_user_profiles p ON s.city_name_ru = p.city
LEFT JOIN cms_geo_countries c ON s.id_country = c.id_country
LEFT JOIN cms_geo_regions r ON s.id_region = r.id_region
WHERE city_name_ru LIKE '{$city}%'
GROUP BY s.city_name_ru
ORDER BY popule DESC , s.city_name_ru ASC";
$res = $inDB->query($sql);
if ($inDB->num_rows($res)) {
while($ress = $inDB->fetch_assoc($res)){
$suggestions[] = ($ress['popule'] > 10 ? '<b>' : '').$ress['city_name_ru'].($ress['popule'] > 10 ? '</b>' : '').' <i> \ '.$ress['region_name_ru'].($ress['id_country']==$id_main_country ? '' : '<span> \ '.$ress['country_name_ru'].'</span>').'</i>';
$data[] = array('city' => $ress['city_name_ru'], 'id_city' => $ress['id_city'], 'id_region' => $ress['id_region'], 'id_country' => $ress['id_country']);
}
}
cmsCore::jsonOutput(array('query' => $city, 'suggestions' => $suggestions, 'data' => $data));

А как сделать обработчик поля профессия?

Последний раз редактировалось troi88, 11.01.2013 в 12:27.
Ответить с цитированием
  #2 (permalink)  
Старый 11.01.2013, 20:23
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

если я правильно всё понял, то в твоём примере из сложностей только обработчик города который формирует сложный SQL запрос.

с профессией всё проще, ведь профессия к региону непривязана достаточно просто достать инфу из бд по LIKE

значит на клиенте нам понадобится как минимум.
$( "#profession" ).autocomplete({
      source: "searchprof.php",
      minLength: 2,
      select: function( event, ui ) {
            //какоето действие
      }
    });


и в searchprof запрос вида (как конкретно это от таблицы зависит)
$sql="SELECT * FROM cms_proffesion WHERE name LIKE '{$prof}%' ORDER BY name ASC";

ничего сложного, ты ценник назови мож кто сделает
тут больше PHP чем javascript'а
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 11.01.2013 в 20:49.
Ответить с цитированием
  #3 (permalink)  
Старый 11.01.2013, 21:16
Интересующийся
Отправить личное сообщение для troi88 Посмотреть профиль Найти все сообщения от troi88
 
Регистрация: 07.01.2013
Сообщений: 14

Сообщение от DjDiablo Посмотреть сообщение
ничего сложного, ты ценник назови мож кто сделает
тут больше PHP чем javascript'а
А вы сколько попросите?
Ответить с цитированием
  #4 (permalink)  
Старый 11.01.2013, 22:37
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

мне старик своего гемороя пока хватает, извини))
смотайся на PHP форум, там быстро сделают.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 11.01.2013 в 22:40.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение символов ввода в jQuery Autocomplete Luter1984 Библиотеки/Тулкиты/Фреймворки 1 04.02.2013 09:13
jQuery Autocomplete: автозаполнение mshdn AJAX и COMET 1 13.04.2011 15:55
autocomplete jquery alexandr_poskrobka jQuery 0 21.12.2010 17:39
нежелательная отправка формы в jQuery UI autocomplete combobox konst56 jQuery 0 18.12.2010 11:28
плагин autocomplete от jquery Anthony jQuery 0 14.12.2008 22:48