造对象
1.原始方式(必须做模型文件,即使是空的也要建)
$model=new HomeModelInfoModel(); var_dump ($model);
2.D()方法(不需要建模型文件)
//$名=D("表名"); $model=D("Info"); var_dump ($model);
3.M()方法(不需要建模型文件)
//$名=M("表名"); $nation=M("Nation"); var_dump($nation);
操作数据库
1.调用select方法查询所有数据
$ainfo=$model->select();
2.调用select方根据主键值找多条数据
$ainfo=$model->select("p001,p002,p003");
3.调用find方法根据主键值找一条特定的数据
$ainfo=$model->find("p001");
连贯操作
where 给查询添加条件
$ainfo=$model->where("code='p003' or sex=true")->select();
table 切换操作的表
$ainfo=$model->table("nation")->select();
alaias 设置表的别名
$ainfo=$model->alaias("人员")->select();
field 指定查询的列
$ainfo=$model->field("code,name")->select();
order 对查询结果排序
$ainfo=$model->order("nation desc")->select();
group 分组
$ainfo=$model->field("nation")->group("nation")->select();
having 加分组后的条件
$ainfo=$model->group("nation")->having("count(*)>2")->select();
join 连接多个表(注意:给重名的列加别名)
$ainfo=$model->field("info.code,info.name as xingming,sex,nation.name,birthday")->join("nation on info.nation = nation.code")->select();
union 联合查询
$ainfo=$model->field("name")->union("select name from nation")->select();
distinct 去重(需要加参数true)
$ainfo=$model->field("nation")->distinct(true)->select();
limit 分页(跳过多少条,取多少条)
$ainfo=$model->limit(2,2)->select();
page 分页(当前第几页,每页多少条)
$ainfo=$model->page(3,2)->select();
聚合函数
count 取数据总条数
$ainfo=$model->count("*");
sum 求和
$ainfo=$model->table("car")->sum("price");
avg 求平均数
$ainfo=$model->table("car")->avg("price");
max 求最大值
$ainfo=$model->table("car")->max("price");
min 求最小值
$ainfo=$model->table("car")->min("price");
原生态查询语句
$sinfo="select * from info where nation='n002'"; $ainfo=$model->query($sinfo);
原生态添加语句
$sinfo="insert into nation values('n005','傣族')"; $ainfo=$model->execute($sinfo);
<if><else /></if> <foreach></foreach>
function info() { $model = D("Info"); $ainfo = $model->field("Info.Code as code,Info.Name as name,sex,Nation.Name as nationname,birthday")->join("Nation on Info.Nation = Nation.Code")->select(); $this->assign("info",$ainfo); $this->assign("test",10); $this->display(); }
info.html
<table width="70%" border="1" cellpadding="0" cellspacing="0"> <tr> <td>代号</td> <td>姓名</td> <td>性别</td> <td>民族</td> <td>生日</td> </tr> <foreach name="info" item="v"> <tr> <td><{$v.code}></td> <td><{$v.name}></td> <!-- tp框架中三元运算符暂时不支持.语法--> <td><{$v["sex"]?"男":"女"}></td> <td><{$v.nationname}></td> <td><{$v.birthday}></td> </tr> </foreach> </table> <!--html界面禁止出现“><”应该用备用词代替gt代表>,lt代表<--> <if condition="$test gt 5"> 大于5 <else /> 其他 </if>