准备工作:
请先配置好inc目录下的数据库连接信息,然后执行以下sql语句创建必要的实例数据表test/user。
在usr/model文件夹下创建User.php,内容如下
<?php namespace Model; use Lib; class User extends Lib\DbBase{ function __construct(){ $this->setName('user');//设置对应的表名,重要!如需联表查询,请使用$this->query($sql)方法 } function delBy($id) { if($this->where("iid in('".$id."')")->remove()){ return "ok"; }else{ return "error"; } } function getlist($start,$ps) { return $this->where("iid>0")->desc("iid")->limit($start,$ps)->page(); } function getuser($username,$userpass) { return $this->where("username='".$username."' and userpass='".$userpass."'")->select(); } function save($iid,$pass) { $arr = array("userpass"=>$pass); return $this->where("`iid`=$iid")->kv($arr)->update(); } function add($username,$userpass) { $arr = array( "username"=>$username, "userpass"=>$userpass); $iid = $this->kv($arr)->add(); return $iid; } } ?>在Action方法里这样调用
function Users() { $user = new Model\User; $pagesize = 10; $cur = isset($_GET["page"]) && is_numeric($_GET["page"]) ? $_GET["page"] : 1; $start = ($cur-1) * $pagesize; $arr = $user->getlist($start,$pagesize); $total = $arr["foundrows"]; $list = $arr["data"]; $pager = new Lib\Pager($cur,$total,$pagesize); $this->set("list",$list); $this->set("pager", $pager); return $this->view("Users"); }在模板里这样访问数据库数据
<table class='table'> <tr> <th>编号</th> <th>用户名</th> <th>用户名长度</th> <th>用户名截取</th> </tr> {foreach($list as $item)} <tr> <td>{$item->iid()}</td> <td>{$item->username()} </td> <td>{org.strlen($item->username())} </td> <td>{helper.cubstr($item->username(),0,3)} </td> </tr> {end} </table> <ul class="pagination"> <li><a href="home/users?page=1">首页</a></li> <li><a href="home/users?page={$pager->prev}">上一页</a></li> <li><a href="home/users?page={$pager->next}">下一页</a></li> <li><a href="home/users?page={$pager->totalpages}">尾页</a></li> <li> <select class="form-control" style="width:80px;float:left;border-left:none;border-radius:0;" onchange="location.href='home/users?page='+this.value"> {for($i=1;$i <=$pager->totalpages;$i++)} <option value="{$i}" {$i==$pager->cur?'selected':''}>第{$i}页</a> {end} </select> </li> <li><span> 共 {$pager->totalpages} 页 / {$pager->total}条记录 </span></li> </ul>注意上面的语句
{$item->username()}实际访问的是数据库记录的字段username字段值,请注意跟一般对象方法区别一下