CI 模型的使用M与C之间的调用

CI是PHP一个比较轻,并且好用的一个框架

分层也是分的比较清晰的一个

这里先展示MODEL 放在application/models 目录下面user_model.php

<?php
class User_model extends CI_Model {

	public function __construct() {
     //parent::__construct();
     $this->load->database();
	}
	//查询全部的数据
	public function getAll(){

		 $query = $this->db->get(‘staff‘);
		 echo ‘My-model‘;
		 echo ‘最后一条sql语句是:‘.$this->db->last_query();
		 return $query->result_array();

	}
	//条件的查询
	public function GetLastList(){
		  $query = $this->db->select(‘id,admin‘)
          ->from(‘b_staff‘)
          ->where(‘id =‘,8)
          //->where(‘id >=‘,8)
          //->limit(0,2)
          ->order_by(‘id desc ‘)
          ->get();
        $rs = $query->result_array();
        echo ‘最后一条sql语句是:‘.$this->db->last_query();
		return $rs;

	}
	//添加数据
	public function insertUser(){
		$data[‘admin‘] = ‘sunzhiiyan0304‘;
        $data[‘paw‘] = ‘123456‘;
        $insertbool = $this->db->insert(‘staff‘,$data);
        return $insertbool;
	}
	//修改数据
	public function UpdateUser(){
		$data[‘admin‘] = ‘sunzhiiyan0304‘;
        $data[‘paw‘] = ‘123456‘;
		$updatebool = $this->db->update(‘staff‘,$data,array(‘id‘=>5));
		return $updatebool;
	}
	//删除
	public function DeleteUser(){
		  $delbool = $this->db->delete(‘staff‘,array(‘id‘=>2));
		  return $delbool;
	}
	//查询---通过sql语句,不运用封装
	public function shower(){
		//装载数据库操作类
		$this->load->database();
		//装载成功后,会放入超级对象的属性中
		//var_dump($this->db);
		$sql = "select * from b_staff ";
		$rs = $this->db->query($sql);  //返回的不是资源,对象

		$list = $rs->result();  //这里返回的是数组,然后
/*		var_dump($list);
		var_dump($this->input);
		var_dump($this->db);
		var_dump($this->uri);
		var_dump($this->lang);
		var_dump($this->db->model);
		var_dump($this->router);*/
		return $list;
	}
	//新增---通过sql语句,不运用封装
	public function insertSql(){
	  $this->load->database();
//	  	$sql = "select * from b_staff ";
//		$rs = $this->db->query($sql);  //返回的不是资源,对象
//
//		var_dump($rs);
//		$list = $rs->result();  //这里返回的是数组,然后
//		var_dump($list);
       // $_POST[‘name‘] = ‘sunzhiyan‘;
        //$name = $this->input->post(‘name‘);
        //echo ‘$name=‘.$name;
        echo ‘sinmzhiayn‘;
        $data[‘admin‘] = ‘SSSSS‘;
        $data[‘paw‘] = ‘123456‘;
        $sql = "insert into b_staff (admin,paw)values(?,?)";
        $this->db->query($sql,$data);
	}
}

?>

命名还是有要求的,这里就不细说了,主要讲的是一个分层和调用的问题

下面是application/controllers 目录下面的welcome.php 页面

通过http://localhost/CI0.1/index.php/welcome/index

能够进行访问

同事,要想访问这个aciton下面的其他方法的时候

只要需要在http://localhost/CI0.1/index.php/welcome/index 后面将index改成要访问的action调用方法名即可

<?php if ( ! defined(‘BASEPATH‘)) exit(‘No direct script access allowed‘);

class Welcome extends MY_Controller {

	/**
	 * Index Page for this controller.
	 *
	 * Maps to the following URL
	 * 		http://example.com/index.php/welcome
	 *	- or -
	 * 		http://example.com/index.php/welcome/index
	 *	- or -
	 * Since this controller is set as the default controller in
	 * config/routes.php, it‘s displayed at http://example.com/
	 *
	 * So any other public methods not prefixed with an underscore will
	 * map to /index.php/welcome/<method_name>
	 * @see http://codeigniter.com/user_guide/general/urls.html
	 */
	public function index()
	{
		echo ‘-----------------------‘;
		//数据库已经自动加载了
		//其实这里可以不同加载,因为调用model的时候,只要让构造方法去调用就行了
		$this->load->database();

		/*
       //装载分页类
       $this->load->library(‘pagination‘);
       //url路由类
       $this->load->helper(‘url‘);
       //进行配置
       //每页显示数据
       $page_size = 2;
       //配置基础目录
       $config[‘base_url‘]= site_url(‘welcome/index‘);
       //一共多少条数据
       $config[‘total_rows‘] =7;
       //首页
       $config[‘first_link‘] = ‘SHOU‘;
       $config[‘next_link‘] = ‘XIA‘;
       //每页显示的数据
       $config[‘per_page‘] = $page_size;
       $this->pagination->initialize($config);
       //输出按钮
       echo $this->pagination->create_links();

       $offset = intval($this->uri->segment(3));
      $rs = $this->db->query($sql);
      $list = $rs->result();
      var_dump($list);*/

        $this->load->model(‘User_model‘);
        //查询
        $list = $this->User_model->getAll();
        //新增
        $bool = $this->User_model->insertUser();
        //修改
       	$updatebool =  $this->User_model->UpdateUser();
       	//删除
       	$delbool =  $this->User_model->DeleteUser();
        //条件查询
        $res =  $this->User_model->GetLastList();
        //通过sql语句进行查询
        $shower =  $this->User_model->shower();
        //通过sql语句进行新增
        $this->User_model->insertSql();

/*        var_dump($list);
		var_dump($bool);
		var_dump($updatebool);
		var_dump($delbool);*/
		//var_dump($shower);

		echo ‘<br>------------------------------------<br>‘;
		var_dump($res);
        //$this->aabbcc();
		$this->load->view(‘welcome_message‘);
	}
	public function test()
	{
	  echo ‘sunzhiyan111‘;
	  $this->load->view(‘nihao‘);
	}

	public function login(){
	 echo ‘login‘;
	 echo md5(uniqid());
	 //加载session
	 $this->load->library(‘session‘);
	 $user = array(‘id‘=>3,‘name‘=>‘sunzhiyan‘);
	 //注册session
	 $this->session->set_userdata(‘user‘,$user);
	 //不要在这里获取刚放入的数据
	 //只有天页面从新加载后才能获取到

	}
	public function checjlogin(){
	  $this->load->library(‘session‘);
	  $this->session->userdata(‘user‘);
	  var_dump($user);
	}
	public function code(){
	 $this->load->helper(‘url‘);
	 $this->load->helper(‘captcha‘);
	 $vals = array(
 //   ‘word‘ => ‘Random word‘,  /使用自己定义的字符串/
    ‘img_path‘ => ‘./captcha/‘,   //此目录手动创建
    ‘img_url‘ => base_url().‘/captcha/‘,

//    ‘font_path‘ => ‘./path/to/fonts/texb.ttf‘,
//    ‘img_width‘ => ‘150‘,
//    ‘img_height‘ => 30,
//    ‘expiration‘ => 60*10  //过期时间,时间一到自动删除图片
	);

	$cap = create_captcha($vals);
	echo $cap[‘word‘];   //验证码中的字符串
	echo $cap[‘image‘];  //输出验证码
	//将验证码放入到session中,验证就通过此相等做

	}

}

/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */
时间: 2024-10-12 15:06:57

CI 模型的使用M与C之间的调用的相关文章

JAVA 构造方法之间的调用

this:看上去,用来区分局部变量和成员变量的情况this:就是代表本类对象,this代表它所在方法所属对象的引用构造方法之间的调用只能通过this语句来完成构造方法之间进行调用时this语句只能出现在第一行,构造方法要先执行,如果初始化当中还有初始化,那就去执行更细节的初始化 class G{ private String name; private int age = 19; G(String name){ System.out.println(name); System.out.print

Iframe父页面与子页面之间的调用

专业词语解释如下:     Iframe:iframe元素是文档中的文档.     window对象: 浏览器会在其打开一个HTML文档时创建一个对应的window对象.但是,如果一个文档定义了一个或者多个框架(即:包含一个或者多个frame或者iframe标签),浏览器就会为原始文档创建一个window对象,再为每个iframe创建额外的window对象,这些额外的window对象是原始窗口的子窗口. contentWindow: 是指指定的iframe或者iframe所在的window对象.

分布式系统的那些事儿(三) - 系统与系统之间的调用

系统与系统之间的调用通俗来讲,分为本地同一台服务器上的服务相互调用与远程服务调用,这个都可以称之为RPC通信.浅白点讲,客户访问服务器A,此时服务器要完成某个动作必须访问服务器B,服务器A与B互相通信,相互调用,A访问B的时候,A挂起,等待B的响应,B响应返回相应的数据个A,A再返回给用户,这就是一个很简单的栗子. 举个常见栗子,用户上传图片,用户上传图片首先会经过自身的服务器,然后再对图片进行处理,此时图片处理放在图片服务器中进行,那么我们只需要调用图片服务器提供的接口即可,然后等待响应返回的

异步服务之间的调用方式

本文为原作,转载请发自原文出处 http://www.cnblogs.com/jermmy/p/6752950.html,谢谢合作! 对与异步服务之间的调用方式LZ只使用了future和callback两种方式,其实异步服务之间的调用有以下几种 1.oneway oneway 是一种只管发送而不管结果的交互方式,不关心服务方的请求结果如何,属于一种单向的通知 2.future 多线程获取数据以及异步交互获取数据使用callable和future的组合是多服务中经常用到的,该接口在juc包中,ca

总结关于lua, c , android,在 cocos2d-x 之间的调用方法

把这几天瞎搞的东西总结一下. 环境配置什么的也比较烦. ndk.java.在cocos2dx的环境中都有配置.参1 很基础很基础很基础的环境配置. 1.android与C 之间的调用 android通过JNI 来调用C(不带C++玩.extern "C"), 1.1android调用C 如果要在Eclipse中用C/C++编译要在工程上选android tools 的add native support,来编译c/c++.对于cocos2dx的理论上已经设置好了. 当然如果没有. 那还

Shell学习之: 脚本之间的调用

在Java,Python中,可以用import的方式来进行脚本或模块之间调用,例如: >>> import math >>> math.sqrt(4) 2.0 在Shell中要如何调用别的shell脚本,或别的脚本中的变量,函数呢? 方法一:   . ./subscript.sh       方法二:   source ./subscript.sh 注意: 两个点之间,有空格,千万注意. 两个脚本不在同一目录,要用绝对路径 为简单起见,通常用第一种方法 例如: main

html iframe 元素之间的调用

html iframe 元素之间的调用一.简介 一般需要引入一个独立页面的时候,我们会使用iframe.在业务需要的时候,我们需要在父页面与iframe页面之间进行交互.交互的时候,我们就需要使 用到js或jquery对父页面或子页面中的相关元素进操作.二.示例 1.页面结构如下: 父页面: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content

从服务器获取的 数值,进行值传递,不同的文件夹之间的调用。

在A.h文件中 定义一个 @property (strong, nonatomic)  NSString *dicString; 在A.m文件中 //从服务器中获取到的值  赋给 dicString  进行值传递给另一个文件使用 NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:NULL];//自定义字典对象 NSString*

《静态与非静态之间的调用问题》

1 //静态与非静态之间的调用问题. 2 public class StaticDemo 3 { 4 /* 5 此处演示了,静态的方法(此处是main方法)不能直接调用非静态的方法,可以通过创建该类对象来调用 6 public void info() 7 { 8 System.out.println("简单的info方法!"); 9 } 10 public static void main(String[] args) 11 { 12 StaticDemo s = new Static