【PHP】基于codeigniter框架的显示数据库数据的实例

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-1 12:24   356   0

这次是一个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

希望对初学者有帮助。

希望会有大神能来批评指正。


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP