第四周

来源:互联网 发布:乌鸦森林之谜3mac 编辑:程序博客网 时间:2024/05/16 01:55

 

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);//SQLechodata)−>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)?(page55):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.phpres−>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();?>//根目录下/指定文件夹下的/文件。