как сделать c AJAX селект страна->регион->город

2 views
Skip to first unread message

yuriy

unread,
Jun 19, 2008, 6:28:32 PM6/19/08
to СodeIgniter-ru
Hello all

как сделать на CI c AJAX селект страна->регион->город

БД geodb
countries
regions
cities

какие должны быть контроллеры . модели . виды
компонеты

к примеру будет использоваться для регистрации пользователя
где он наряду и именем он указывает
также место положения и другие даные

class UsersController extends AppController
class User extends AppModel

в таблице users наверное должно быть поле
сity_id указывающее на поле в таблице cities.
или может эффективнее в плане скорости
3 поля country_id , region_id сity_id

так как в профиле пользователя должны показываться также страна и
регион

и вопрос 2
что делать если таблица users находится в другой базе данных
например БД bookmarks

Dan

unread,
Jun 20, 2008, 5:09:40 AM6/20/08
to СodeIgniter-ru
на вопрос 2

есть два варианта

певый в конфиге database.php

указываете вторую базу

$db['test']['hostname'] = "localhost";
$db['test']['username'] = "root";
$db['test']['password'] = "";
$db['test']['database'] = "database_name";
$db['test']['dbdriver'] = "mysql";
$db['test']['dbprefix'] = "";
$db['test']['pconnect'] = TRUE;
$db['test']['db_debug'] = FALSE;
$db['test']['cache_on'] = FALSE;
$db['test']['cachedir'] = "";
$db['test']['char_set'] = "utf8";
$db['test']['dbcollat'] = "utf8_general_ci";

при вызове указываете
$this->load->database('test');

или

$config['hostname'] = "localhost";
$config['username'] = "myusername";
$config['password'] = "mypassword";
$config['database'] = "mydatabase";
$config['dbdriver'] = "mysql";
$config['dbprefix'] = "";
$config['pconnect'] = FALSE;
$config['db_debug'] = TRUE;
$config['cache_on'] = FALSE;
$config['cachedir'] = "";
$config['char_set'] = "utf8";
$config['dbcollat'] = "utf8_general_ci";

$this->load->database($config);

Alexandr Verbovsky

unread,
Jun 20, 2008, 6:08:21 AM6/20/08
to codeign...@googlegroups.com

Сделайте для этого 3 отдельных метода.
Отдельно для стран, регионов и городов.
Страны будут загружаться при загрузке страницы.
Все остальные методы будут загружаться под аджаксом.
Вьюшки можно не юзать - можете сразу выдавать строку содержащую SELECT в HTML.

При получении аджаксом строки с селектом, вставляйте его в соответствующий элемент формы по его id через update.

Для работы с аджакс я использовал Prototype, хотя для этого подойдет любой другой современный JS-фреймворк.


20 июня 2008 г. 1:28 пользователь yuriy <727...@googlemail.com> написал:



--
С уважением, Александр Вербовский.
Reply all
Reply to author
Forward
0 new messages