Автоподбор поля

модификация автозаполнения поля город

#1 11 января 2013 в 17:44
Добавил на страницу регистрации поле город по этому примеру: instantcms.ru/blogs/lunyi-blog/ajaks-podbor-goroda-profilja.html Как реализовать такой же функционал у поля профессия? Создал в базе данных таблицу cms_users_professia с полями id и professia. Как изменить файл cities.php для выборки по базе и возврата результата?
Прикрепленный файл
cityselect_b6nek.zip 277 Кб
#2 13 января 2013 в 11:36
Я понял, что нужно изменить вот это:
  1. <?php
  2.  
  3. define('PATH', dirname(__FILE__));
  4. define("VALID_CMS", 1);
  5.  
  6. include(PATH.'/core/cms.php');
  7.  
  8. $inCore = cmsCore::getInstance();
  9. $inDB = cmsDatabase::getInstance();
  10.  
  11. $city = $inCore->request('query', 'str');
  12. if(!$city)exit;
  13.  
  14. //Идентификатор главной страны
  15. $id_main_country = 1;
  16.  
  17. $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
  18. FROM cms_geo_cities s
  19. LEFT JOIN cms_user_profiles p ON s.city_name_ru = p.city
  20. LEFT JOIN cms_geo_countries c ON s.id_country = c.id_country
  21. LEFT JOIN cms_geo_regions r ON s.id_region = r.id_region
  22. WHERE city_name_ru LIKE '{$city}%'
  23. GROUP BY s.city_name_ru
  24. ORDER BY popule DESC , s.city_name_ru ASC";
  25. $res = $inDB->query($sql);
  26. if ($inDB->num_rows($res)) {
  27. while($ress = $inDB->fetch_assoc($res)){
  28. $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>';
  29. $data[] = array('city' => $ress['city_name_ru'], 'id_city' => $ress['id_city'], 'id_region' => $ress['id_region'], 'id_country' => $ress['id_country']);
  30. }
  31. }
  32. cmsCore::jsonOutput(array('query' => $city, 'suggestions' => $suggestions, 'data' => $data));
под свою таблицу. Но как правильно это сделать? Я пробовал убрать лишние поля для выборки — не работает!
Подскажите пожалуйста!
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.