PHP的CI框架怎么用
admin
2023-07-02 06:03:59
0

CI是PHP的一个框架,使用该框架可以使得我们的代码更简洁,具有较高的可维护性。CI框架是基于MVC进行使用的。MVC是简称,M是指模型(Model),通常是用于处理数据,与数据库的打交道的。V是指视图(View),是用来定义如何显示数据以及其他内容的。C是指控制器(Controller),是处理模型和视图的工具。我们的CI框架是基于MVC的,我们将程序分为模型,视图和控制器三个部分。

上次,我们已经用php完成了一个小程序,这次就把这个小程序整合为CI框架。

index.php是入口文件,入口文件是不能改动的。我们只需要写好控制器,就可以通过调用模型和视图来访问页面了。

下面就是该程序整合到CI框架的代码:

Controller

project.php

   class project extends CI_Controller{

function __construct(){

parent::__construct();

$this->load->model('project_model');

}

    public function index()

{

$this->load->view('project_view');

}

//保存数据的的方法

function save(){

//调用project_model中的save_project方法

$this->project_model->save_project($_POST['project_name']);

//获取插入的id

$id = mysql_insert_id();

$content = $_POST['context'];

//替换字符

$content = str_replace(".",".#",$content);

$content = str_replace("?","?#",$content);

$content = str_replace("!","!#",$content);

//分解内容

$str = explode("#",$content);

//获取总数

$count = count($str)-1;

$items = null;

for($i = 0 ; $i < $count ; $i++) {

$items .= "('{$str[$i]}',{$id})".',';

}

$items = rtrim($items,',');

$this->project_model->save_projectsentence($items);

$this->getdatas();

}

//显示数据

function getdatas(){

$list = $this->project_model->getdatas();

foreach($list->result_array() as $v){

$result[] = $v;

}

$data['list'] = $result;

$this->load->view('xianshi',$data);

}

}

?>

Model

project_model.php

//require_once 'common_model.php';

/**

增加上面类库返回结果集是以数组形式返回,原生态ci类库返回的结果集是object对象

*/

class project_model extends CI_Model{

    function __construct(){

        parent::__construct();

    }

M

   //向project表插入name字段方法

   function save_project($project){

$sql="insert into project(name)VALUES('{$project}')";

return $this->db->query($sql);

     }

 

//向project_sentences表插入sentence和id字段方法

function save_projectsentence($items){

$query = "insert into project_sentence (sentences,id)values{$items}";

return $this->db->query($query);

     }

 

//显示name与sentence字段

function getdatas(){

 

$sql = "select p.name,ps.sentences from project p join project_sentence ps on p.id = ps.id";

 

// return $this->_query($sql);

return $this->db->query($sql);

}

}

?>

View

因为这里有两个网页,所以相对于CI,我们这里应有两个视图。分别是project_view(输入页面)和xianshi.php(显示页面)。

project_view

输入页面

VI

 

 Project:

 
Context:

 

xianshi.php

显示页面

   

$name = null;

if(!empty($list)){

foreach($list as $v){

if($name != $v['name']){

$name = $v['name'];

?>

Project_nameSentences

相关内容

热门资讯

2026年6月安卓摄影新选择:... 2026年6月安卓摄影新选择:CCD质感手机推荐 2026年6月安卓摄影新选择:CCD质感手机推荐 ...
总书记的人民情怀 | “要坚持... 本报记者 吴 丹原标题:“要坚持健康第一的教育理念”(总书记的人民情怀)
菲律宾防长“装可怜”:中美实力... 【文/观察者网 齐倩】菲律宾政府近年来仗着美国撑腰,在南海议题上“兴风作浪”。中美紧张关系缓和后,菲...
老板燃气灶一直报警是怎么回事 老板燃气灶一直报警是怎么回事原因可能有以下几点:1.熄火保护电路故障造成误报警,导致其长鸣声不断;2...
老板燃气灶一直报警怎么回事 原因可能有以下几点:1.熄火保护电路故障造成误报警,导致其长鸣声不断;2.燃气意外熄灭导致熄火保护功...
燃气灶报警器一直闪灯 这种情况原因有很多种,1、可能是某个零件出现了问题。2、当工业环境中燃气气体泄露,燃气报警器检测到气...
乐邦燃气灶一直报警怎么办 如果你的乐邦燃气灶一直报警,应该立即采取以下措施以确保安全:1. 关闭天燃气阀门首先,要立刻关闭天然...
为啥万家乐燃气热水器打不着火了... 常见原因:1、管道中的水压太低了,这个时候水压开关就没有办法正常工作,也就没有电压能够输送到脉冲点火...
美国计划加速从欧洲撤军 【文/观察者网 王恺雯】德国《星期日世界报》(Welt am Sonntag)5月30日报道,五角大...
日本何时道歉?解放军代表当场质... 【环球时报-环球网报道 记者 郭媛丹 苏雅瑄】31日上午,解放军专家学者代表团成员、国防大学沈志雄大...