Codeigniter เริ่มใช้งานฐานข้อมูล

ขั้นแรกเราต้องเข้าไป Config ข้อมูลการเชื่อมต่อในไฟล์ Config/database.php จะเห็นโค้ดดังนี้

$active_group = 'default';//default database
$active_record = TRUE;

//ชื่อ default คือชื่อที่จะใช้เลือกชุด config เชื่อมต่อฐานข้อมูล สามารถเปลี่ยนได้
$db['default']['hostname'] = 'localhost'; //ชื่อ host
$db['default']['username'] = '';
$db['default']['password'] = '';
$db['default']['database'] = '';//ชื่อ database
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';//คำนำหน้าชื่อ table
$db['default']['pconnect'] = TRUE;
$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;

จากนั้นการจะเชื่อมต่อฐานข้อมูล ตามหลัก MVC เราจะต้องสร้าง Model เพื่อใช้เป็นตัวติดต่อฐานข้อมูล โดยเราจะเรียกใช้ Model จากในส่วนของ Controller และส่งต่อข้อมูลที่ได้จากฐานข้อมูลไปให้ View มาดูตัวอย่างโค้ดการเรียกใช้งาน

Controllers Home

class Home extends CI_Controller {
    function __construct()
    {
         parent::__construct();
         $this->load->model('user'); //คำสั่งใช้งาน user Model
    }
   
    public function index()
    {
         $users = array();//ประกาศตัวแปร array ใช้เก็บ users ทั้งหมด
         $users = $this->user->select_all_user();//เรียก method ของ user Model ซึ่ง method นี้จะ query ข้อมูล users ทั้งหมดจากฐานข้อมูลออกมาให้
         $return["users"] = $user;
         $this->load->view("view_user",$return);//โหลด view_user มาแสดงในหน้าเว็บ โดยส่งตัวแปร $return ไปให้ view_user ในการเรียกใช้ตัวแปรใน view_user ตามตัวอย่างนี้จะได้ตัวแปร $users ซึ่งเป็น array
    }
}

Model User

class User_model extends CI_Model {


    function __construct()
    {
        // Call the Model constructor
        parent::__construct();
    $this->load->database('default');//เลือกใช้ชุด config ที่ชื่อ default
    }
   
    function select_all_user()
    {
        //รูปแบบการ query ฐานข้อมูลที่ Codeigniter เตรียมเอาไว้
        //รูปแบบนี้ เรียกว่า Active Record สามารถหาข้อมูลการ query แบบต่างๆได้
        //โดยพิมพ์ใน google search ว่า Active Record Codeigniter
        $this->db->select( "*" );
        $this->db->from( "user" );
        $q = $this->db->get();//query จากฐานข้อมูล
        if($q)
        $result = $q->result_array();//เก็บข้อมูล users
        return $result;//ส่งค่ากลับไปที่ controllers
    }
}

View view_user

<html>
<head>
</head>
<body>
<table width="100%">
<? //loop display users
     foreach($user as $key =>$value){ ?>
         <tr>
            <td>...</td>
            <td>...</td>
                    ...
            <td>...</td>
         </tr>
<? } ?>
</table>
</body>
</html>

Related posts:

This entry was posted in codeigniter. Bookmark the permalink.