I work with an application (school management system), I have to create an application with several databases for each individual database for each year.
my approach is that -> I made a form with an option to select something like this
<form method="POST" action="host/configure/select_database">
<select name="database">
<option value="2010">Year 2010</option>
<option value="2011">Year 2011</option>
<option value="2012">Year 2012</option>
<option value="2013">Year 2013</option>
<option value="2014">Year 2014</option>
<option value="2015">Year 2015</option>
<option value="soon...">So On ... </option>
</select>
<input type="submit" value="choose year"/>
</form>
when the user selects any year from this option, mine select_database
will set the database to work with
configure.php (controller)
public function select_database(){
session_start();
$_SESSION['current_database'] = $this->input->post('database');
redirect_to('/');
}
here is my choice of database code in database.php
database.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$database = isset($_SESSION['current_database'])?$_SESSION['current_database']:'2015';
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'Username';
$db['default']['password'] = "DbPassword";
$db['default']['database'] = $database;
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
this is my approach, is there any other better way to change the database from user selection, please make sure I'm right or not
thanks
user4284772