CI:AR模型
//查询数据
id=id=this->uri->segment(3);
this−>db−>get(′user′,array(′id′=>this−>db−>get(′user′,array(′id′=>id));
//插入数据
data=array(′username′=>′fafds′;′password′=>md5(′fafds′),);data=array(′username′=>′fafds′;′password′=>md5(′fafds′),);bool=this−>db−>insert(′user′,this−>db−>insert(′user′,data);
if(bool){ echo '自增ID:'.bool){ echo '自增ID:'.this->db->insert_id();
echo '影响行数:'.$this->db->affected_rows();
}
//更新数据
data=array(′username′=>′ffffffff′,);data=array(′username′=>′ffffffff′,);id=this−>uri−>segment(3);this−>uri−>segment(3);bool=this−>db−>update(′user′,this−>db−>update(′user′,data,array('id'=>id));if(id));if(bool){
echo '更新成功!';
}else{
echo '更新失败!';
}
//删除数据
bool=bool=this->db->delete('user',array('id'=>3));
if($bool){
echo '删除成功!';
}else{
echo '删除失败!';
}
AR模型
this−>db−>lastquery();this−>db−>lastquery();this->select('id,username')->from('user')->where(array('id >=',1,'username !=',zbx))->limit(3,2)->order_by('id desc')->get();
注意order_by可以控制方向:
例如
->limit(3,2)->order_by('id desc');
//返回的是从起始位置开始 向前显示 3条
->limit(3,2)->order_by('id asc');
//返回的是从起始位置开始 向后显示 3条
like('username','z','after');// `username` LIKE 'z%' ESCAPE '!'
this−>db−>countall(′user′);//返回数据表的总行数this−>db−>countall(′user′);//返回数据表的总行数this->db->last_query();//返回最近执行的一条SQL语句
this−>db−>affectedrows();//返回影响的行数this−>db−>affectedrows();//返回影响的行数this->db->insert_id();//返回自增ID
this−>db−>platform();//返回平台this−>db−>platform();//返回平台this->db->version();//返回版本
res−>numrows();//返回行数res−>numrows();//返回行数res->num_fields()//返回总列数
$this->db->count_all('user');//返回一个表的总行数
//构造安全的插入语句
data=array(′username′=>′zbx′,′password′=>md5(′admin′));data=array(′username′=>′zbx′,′password′=>md5(′admin′));str = this−>db−>insertstring(′user′,this−>db−>insertstring(′user′,data);
//构造安全的update()语句
data=array(′username′=>′zbx123132132′,′password′=>md5(′312312312312′));data=array(′username′=>′zbx123132132′,′password′=>md5(′312312312312′));where = "id = 3";
str=str=this->db->update_string('table_name', data,data,where);
query=query=this->db->get('mytable');//返回一个表的所有数据
query=query=this->db->get('mytable', 10, 20);//实现limit语句
this−>db−>select(′idas编号,usernameas用户名,passwordas密码′)−>from(′user′)−>where(this−>db−>select(′idas编号,usernameas用户名,passwordas密码′)−>from(′user′)−>where(where)
->or_like('password','cc')
->limit(3,2)
->order_by('id desc','password asc')
->get();
//SELECT `id` as `编号`, `username` as `用户名`, `password` as `密码` FROM `ci_user` WHERE `id` >= '1' ORDER BY `id` desc LIMIT 2, 3
//生成SQL语句但是不执行
$data=array(
'username'=>'admin',
'password'=>md5('admin'),
);
//this−>db−>insert(′user′,this−>db−>insert(′user′,data);//产生SQL语句并且执行。
//echo $this->db->last_query();
sql=sql=this->db->set(data)−>getcompiledinsert(′user′);//产生SQL语句并且执行echodata)−>getcompiledinsert(′user′);//产生SQL语句并且执行echosql;//这个方法不支持批量插入
//清空一个表中所有的数据
this−>db−>emptytable(′mytable′);this−>db−>emptytable(′mytable′);this->db->truncate('user');
//CI中的事务
select * from swap_user where id between 1 and 20 //既包括起始位置也包括结束位置
table=table=this->db->list_tables();//返回当前数据库所有的表名称
CI_Model 模型
文件名需要小写,类名需要第一个字母大写
方法就是控制器所需要的数据
class User_model extends CI_Model{
//获得所有用户
public function getAll(){
res=res=this->db->get('user');
return res->result(); } //在Model方法,返回给控制器 public function info(){ return '用户列表'; } } //控制器获得Mode中的数据 class User extends CI_Controller{ public function index(){ //加载用户模型,并且起一个别名res->result(); } //在Model方法,返回给控制器 public function info(){ return '用户列表'; } } //控制器获得Mode中的数据 class User extends CI_Controller{ public function index(){ //加载用户模型,并且起一个别名this->load->model('User_model','user');
//获得模型对象调用模型中的方法
list=list=this->user->getAll();
info=info=this->user->info();
//将从模型中获得的方法通过控制器传递给视图
this−>load−>view(′user/index′,array(′list′=>this−>load−>view(′user/index′,array(′list′=>list,'info'=>$info));
}
}
//视图负责按照要求显示数据
<!DOCTYPE html>
<html>
<head>
<title>index.php/user/index</title>
</head>
<body align='center'>
<h3>显示:<?php echo info;?></h3><tableborder="1"align=′center′><tr><th>编号</th><th>用户名</th><th>密码</th></tr><?phpforeach(info;?></h3><tableborder="1"align=′center′><tr><th>编号</th><th>用户名</th><th>密码</th></tr><?phpforeach(list as items):?><tr><th><?=items):?><tr><th><?=items->id?></th>
<th><?=items−>username?></th><th><?=items−>username?></th><th><?=items->password?></th>
</tr>
<?php endforeach;?>
</table>
</body>
</html>
//CI表单验证
//CI数据输入
this−>input−>get(′id′);this−>input−>get(′id′);this->input->post('id');
this−>input−>server(′id′);this−>input−>server(′id′);this->input->cookie('id');
CI分页
this−>load−>library(′pagination′);this−>load−>library(′pagination′);config['base_url']='http://localhost/CITest11/index.php/Welcome/fenye';
config[′numlinks′]=1;config[′numlinks′]=1;config['use_page_numbers'] = TRUE;
config[′pagequerystring′]=TRUE;config[′pagequerystring′]=TRUE;config['total_rows']=45;
config[′perpage′]=5;config[′perpage′]=5;this->pagination->initialize(config);echoconfig);echothis->pagination->create_links();
page=page=this->input->get('per_page');
s=isset(s=isset(page)?(page∗5−5):0;page∗5−5):0;e=s+5;s+5;sql="select * from swap_user limit s,s,e";
res=res=this->db->query(sql);echosql);echosql;
echo '<hr/>';
var_dump(res−>result());CI中的伪静态//在application/config/routes.php中设置res−>result());CI中的伪静态//在application/config/routes.php中设置route['news/[\d]{6}/([\d]+)\.jsp']='welcome/weijingtai/$1';
//正则表达式实现伪静态
CI中的路由
$this->load->helper('url');
<?php echo site_url('user/index');?> //访问的是user控制器下的index方法。
<?php echo base_url();?>//根目录下/指定文件夹下的/文件。