1. 程式人生 > >【PHP】基於codeigniter框架的顯示資料庫資料的例項

【PHP】基於codeigniter框架的顯示資料庫資料的例項

這次是一個CI的例項,功能為通過CI框架,在頁面中顯示資料庫中的內容

1.安裝

首先,下載codeigniter,連結點選開啟連結

解壓,把檔案放入你的網站根目錄,裡面有若干檔案和三個資料夾,其中的user_guide資料夾是使用者手冊,可以自己收好,system資料夾一般情況下不會動,升級CI版本時替換這個資料夾,application則是之後我們主要操作的地方。

2.配置資料庫

開啟 application/config/database.php 檔案,在檔案的末尾配置資料庫即可

原形如下

$db['default'] = array(
    'dsn'   => '',
    'hostname' => 'localhost',
    'username' => 'root',
    'password' => '',
    'database' => 'database_name',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => TRUE,
    'db_debug' => TRUE,
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array()
);

其中最基本的有這麼幾項

hostname:資料庫的主機名,一般位於本地的話就是localhost,如果在伺服器上則填伺服器的公網IP

username:連結資料庫用的使用者名稱

password:密碼

database:資料庫名

dbdriver:資料庫型別

3.使用Model連結資料庫並取資料

開啟application/models資料夾,新建一個模型,例如Admin_user_master_model.php

向其中新增如下程式碼,主要內容是其中的test方法

<?php
class Admin_user_master_model extends CI_Model {
	
	public function __construct()
  {//連結資料庫
    $this->load->database();
  }
  
  public function test(){
	$query_srting = "SELECT * FROM DB.plat_user";//sql語句
	
	$query = $this->db->query($query_srting);//查詢
	
	if ($query->num_rows() > 0)	{			
		return $query->result();//返回資料
	} else {
		return null;
	}
  }	
	
}
注:我的資料庫名為DB,其中有張表名為plat_user

4.使用Controller呼叫Model獲取資料
開啟application/controllers資料夾,新建一個控制器,例如UserController.php

向其中新增如下程式碼,主要內容是其中的test方法

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class User extends CI_Controller {


  public function __construct()
	{
    	parent::__construct();
		//讀取model
    	$this->load->model('Admin_user_master_model');
	}

	public function index()
	{		
		$this->load->view('welcome_message');
	}
	
	
	public function test()
	{
		//呼叫Model中的test方法
		$lists=$this->Admin_user_master_model->test();
		if(isset($lists)){	
			$i=0;
			
			//整理獲得的資料,以用陣列的形式展示
			foreach ($lists as $row)
			{			
				$result_array[$i] = 
				array(
					"user_id"=>$row->user_id,
			 		"user_name"=>$row->user_name,
			 		"user_nickname"=>$row->user_nickname
			 		);			 		
			 		$i++;
			}
			
			if(isset($result_array)){
				print_r($result_array);
			}else{
				echo "no data";
			}
	   	
	  }else{
			echo "no data";
		}
	}
	
}


ok,到這裡,如果你的網站是本地的,開啟遊覽器,訪問http://localhost/UserController/test就可以看到,你已經從資料庫中取出了資料庫中plat_user並將它展示在網頁上了。

最後,就是用view展示,只需要在controller中加入$this->load->view('viewname');即可,程式碼可以參考CI原始檔裡的
application/controllers/Welcome.php

希望對初學者有幫助。

希望會有大神能來批評指正。