1 在MainController.class.php 控制器中有一个test的方法,同时还有一个deng的方法,我想在test方法中使用deng方法
表示为
<?php namespace HomeController; use ThinkController; class MainController extends controller { public function test() { $this->deng(); }
2 在MainController.class.php 控制器中有一个test的方法,在同一个模板下还有一个名为IndexController.class.php的控制器,其中有一个index方法,我想在test方法中使用index方法 表示为:
<?php namespace HomeController; use ThinkController; class MainController extends controller { public function test() { //跨控制器调用方法 $index=new IndexController(); $index->index(); $index=A("Index"); $index->index(); R("Index/index"); }
上述是三种不同的调用方法
3 在Home文件夹下的MainController.class.php 控制器中有一个test的方法,在不同的模板Admin文件夹下还有一个名为TextController.class.php的控制器,其中有一个aa方法,我想在test方法中使用aa方法 表示为:
<?php namespace HomeController; use ThinkController; class MainController extends controller { public function test() { //跨模块调用方法 $index=new AdminControllerTextController(); $index->aa(); $index=A("Admin/Text"); $index->aa(); R("Admin/Text/aa"); }
4 使用模型来操作数据库,用D调出来的是子类对象,如果用M(“nation”)调出来的是父类对象; 用select() 调出来的是所有对象,是一个二维数组,如果用find()调出来的是一条数据,比如 find("n001")
$nation=D("nation");
$arr=$nation->select(); var_dump($arr);
5 用where查询语句 where(条件)
$nation=D("nation"); $arr=$nation->where("code='n005' or code='n003'")->select(); var_dump($arr)
查出来的是两条数据
6 TABLE()可以用来切换数据表 我选用的是数据库club中的表格cname来切换
$nation=D("nation"); $arr=$nation->table("cname")->select(); var_dump("$arr");
7 field(指定的数据库的某一个字段),查询出来的只有这个字段的数据
$nation=D("nation"); $arr=$nation->field("code")->select(); var_dump($arr);
8 order() 是指把查询的内容按照顺序排列
$nation=D("nation"); $arr=$nation->order("code desc")->select(); var_dump($arr);
9 limit() 分页查询 如果()内只有一个值,那么意味着显示多少条数据, 如果有两个值(,)那么意味着跳过多少条显示多少条
$nation=D("nation"); $arr=$nation->limit(6)->select(); var_dump($arr);
如果用的是page()分页查询 会更人性化 page(,)括号里面有两个值,第一个值表示第几页,第二个值表示每页显示多少条
10 分组 group() 比如我要查car表中 按照brand分组 每一组有多少条数据
$nation=D("nation"); $arr=$nation->field("brand,count(*)")->table("car")->group("brand")->select();
var_dump($arr);
11 join 使两个表联系起来
$login=D("login"); $arr=$login->field("login.uid,login.pwd,cname.name")->join("cname on cname.code=login.code")->select(); var_dump($arr);
如图所示
在登录的时候我们都会存一个session值 那么为了方便,我们建一个名为BaseController.class.php的控制器
usename HomeController;
use ThinkController;
class BaseConroller extends Controller
{
function __construct()
{
parent::__construct(); //在Controller控制器中也有构造函数,为了防止被覆盖,我们先调用一下
if(!session("?uid"))
{
$this->redirect("Text/test"); //如果没有存session 那么就返回登录页面
exit;
}
}
}