您当前的位置: 首页 > 学无止境 > 网站建设 网站首页网站建设
thinkphp的连贯操作原理与常用的连贯操作
发布时间:2015-12-12 08:51:18编辑:雪饮阅读()
连贯操作:
class Model{
private $tablename=null;
private $sql=null;
private $where=null;
function __construct($tablename){
$this->tablename=$tablename;
mysql_connect("localhost","root","root");
mysql_select_db("thinkphp");
}
function where($where){
$this->where=$where;
return $this;
/*
连贯操作的核心
一个方法执行之后若返回到当前对象,那么该方法本身就已经变成了一个对象了(或许说是将该方法的的返回值融入到对象里面并且对象已至该方法)
*/
}
function select(){
$arr=array();
$this->sql="select * from tp_".strtolower($this->tablename)." where {$this->where}";
$result=mysql_query($this->sql);
if($result && mysql_num_rows($result)>0){
while($res=mysql_fetch_assoc($result)){
$arr[]=$res;
}
}
return $arr;
}
function getSql(){
return $this->sql;
}
}
$m=new Model("User");
$arr=$m->where("id>13")->select();
var_dump($arr);
echo "<hr/>";
echo $m->getSql();
连贯操作2(不用实例化直接使用M()方法):
class Model{
private $tablename=null;
private $sql=null;
private $where=null;
function __construct($tablename){
$this->tablename=$tablename;
mysql_connect("localhost","root","root");
mysql_select_db("thinkphp");
}
function where($where){
$this->where=$where;
return $this;
/*
连贯操作的核心
一个方法执行之后若返回到当前对象,那么该方法本身就已经变成了一个对象了(或许说是将该方法的的返回值融入到对象里面并且对象已至该方法)
*/
}
function select(){
$arr=array();
$this->sql="select * from tp_".strtolower($this->tablename)." where {$this->where}";
$result=mysql_query($this->sql);
if($result && mysql_num_rows($result)>0){
while($res=mysql_fetch_assoc($result)){
$arr[]=$res;
}
}
return $arr;
}
function getSql(){
return $this->sql;
}
}
function M($tablename){
return new Model($tablename);
}
$m=M("User");
$arr=$m->where("id>13")->select();
var_dump($arr);
echo "<hr/>";
echo $m->getSql();
Thinkphp中连贯操作order对数据排序:
public function demo(){
$m=M("User");
$arr=$m->order("id desc")->select();
var_dump($arr);
$this->show("雪饮个人博客你好");
}
数组方式:
public function demo(){
$m=M("User");
$arr=$m->order(array("sex"=>"asc","id"=>"desc"))->select();
var_dump($arr);
$this->show("雪饮个人博客你好");
}
Thinkphp连贯操作-limit:
public function demo(){
$m=M("User");
$arr=$m->order(array("sex"=>"asc","id"=>"desc"))->limit(5)->select();
var_dump($arr);
$this->show("雪饮个人博客你好");
}
Thinkphp连贯操作-limit2:
public function demo(){
$m=M("User");
$arr=$m->order(array("sex"=>"asc","id"=>"desc"))->limit('3,2')->select();
var_dump($arr);
$this->show("雪饮个人博客你好");
}
或
public function demo(){
$m=M("User");
$arr=$m->order(array("sex"=>"asc","id"=>"desc"))->limit(3,1)->select();
var_dump($arr);
$this->show("雪饮个人博客你好");
}
Thinkphp连贯操作-按字段取出记录:
单字段
public function demo(){
$m=M("User");
$arr=$m->order(array("sex"=>"asc","id"=>"desc"))->field("name")->select();
var_dump($arr);
$this->show("雪饮个人博客你好");
}
多字段
public function demo(){
$m=M("User");
$arr=$m->order(array("sex"=>"asc","id"=>"desc"))->field("name,id")->select();
var_dump($arr);
$this->show("雪饮个人博客你好");
}
字段别名
public function demo(){
$m=M("User");
$arr=$m->order(array("sex"=>"asc","id"=>"desc"))->field("name as username,id")->select();
var_dump($arr);
$this->show("雪饮个人博客你好");
}
数组方式
public function demo(){
$m=M("User");
$arr=$m->order(array("sex"=>"asc","id"=>"desc"))->field(array("name","sex"))->select();
var_dump($arr);
$this->show("雪饮个人博客你好");
}
数组方式字段别名
public function demo(){
$m=M("User");
$arr=$m->order(array("sex"=>"asc","id"=>"desc"))->field(array("name"=>"bm","sex"))->select();
var_dump($arr);
$this->show("雪饮个人博客你好");
}
字段取反(除id字段以外的所有字段)
public function demo(){
$m=M("User");
$arr=$m->order(array("sex"=>"asc","id"=>"desc"))->field("id",true)->select();
var_dump($arr);
$this->show("雪饮个人博客你好");
}
Thinkphp中连贯操作条件没有顺序之分:
public function demo(){
$m=M("User");
$arr=$m->order(array("sex"=>"asc","id"=>"desc"))->field("id",true)->limit(2,2)->select();
var_dump($arr);
$this->show("雪饮个人博客你好");
}
关键字词:thinkphp,连贯操作,个人博客
下一篇:thinkphp-视图