用户名验证: 用Ajax 和 js
html中 Ajax 将输入框中的值 传入PHP文件, 和数据库中的值进行匹配,用Ajax的回调将结果回调到html文件中,
html再用js改变提示信息
//blur鼠标离开时的方法jq方法
//jq获取用户名输入框的标签
$('#name').blur()
html文件中
获取input内容
$(this).attr(‘value’); // 获取某个元素的属性值
头尾分离
文档:8.7包含文件
<include file="header" />
<!— <include file=“Public:header”/> 不常用-->
$this->display('Public:footer');
Tpl下的文件 文件中的内容
常用的是:
public function view($nameFun){
$this->display('Public:header');
$this->display($nameFun);
$this->display('Public:footer');
$this->display('Public:header');
$this->display($nameFun);
$this->display('Public:footer');
}
循环标签 <foreach></foreach>
<foreach name="result" item="val">
(循环体)
</foreach>
标签赋值
{$_SESSION.
admin.name}
相当于— <?php echo $?_SESSION.
admin.name>
重定向
// 重定向 在user控制器用product控制器的index方法
$this->redirect('product/index');
$this->redirect('product/index');
获取数据
// $model = M('Product');
// $result = $model->select();
// // 传值给模板页面
// $this->assign('result',$result);
数据分页
$model = M('Product'); // 实例化User对象
// import('ORG.Util.Page');// 导入分页类
$count = $model->count();// 查询满足要求的总记录数
$Page = new Page($count,2);// 实例化分页类 传入总记录数和每页显示的记录数
$show = $Page->show();// 分页显示输出
// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
$list = $model->order('id desc')->limit($Page->firstRow.','.$Page->listRows)->select();
$this->assign('result',$list);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->view(); // 输出模板
优化后:
// 第一步: 导入三方库
// // 支持Ajax的分页功能
import("ORG.Util.AjaxPage");
$model = M('Product'); // 实例化Product对象
import("ORG.Util.AjaxPage");
$model = M('Product'); // 实例化Product对象
// 第二步: 创建对象, 指定对象执行的方法
$count = $model->count();// 查询满足要求的总记录数
$Page = new AjaxPage($count,2, "productPage");// productPage 是调用js中方法, 通过该方法给js传递页码值
$show = $Page->show();// 分页显示输出
// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
$Page = new AjaxPage($count,2, "productPage");// productPage 是调用js中方法, 通过该方法给js传递页码值
$show = $Page->show();// 分页显示输出
// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
$list = $model->order('id desc')->limit($Page->firstRow.','.$Page->listRows)->select();
// 第三步: 判断是不是Ajax
if (!$this->isAjax()){
$this->assign('result',$list);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->view('index'); // 输出模板
}else{
$data['result']=$list;
$data['page']=$show;
// 返回给Ajax
$this->ajaxReturn($data);
}
$this->assign('result',$list);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->view('index'); // 输出模板
}else{
$data['result']=$list;
$data['page']=$show;
// 返回给Ajax
$this->ajaxReturn($data);
}
局部刷新
需要用到Ajax
<script>
function productPage(id) {
// 拼接url 控制器/方法 / 参数/参数值
var url
= '__APP__/product/index/p/'
+id;
$ .get (url , function (content) {
// 重写html代码
// pagination div重写
// 将json转成对象类型
var data = eval ('(' +content+')' ); // 强制将json转成对象类型
$ .get (url , function (content) {
// 重写html代码
// pagination div重写
// 将json转成对象类型
var data = eval ('(' +content+')' ); // 强制将json转成对象类型
$
('.pagination'
).html
(data
.page
);
var l
=
‘'
; // l拼接的局部刷新部分标签的字符串
for
(var i
=0
;i
< 2
;i
++) {
l += '<tr><td><input type="checkbox"/></td>' ;
l += '<td>' +data .result [i ]['id' ]+'</td>' ;
l += ' <td><a href="#" title="title">' +data .result [i ]['name' ]+'</a></td>' ;
l += '<td>' +data .result [i ]['price' ]+'</td>' ;
l += '<td>' +data .result [i ]['count' ]+'</td>' ;
l += '<td><a href="__APP__/product/updata/id/' ;
l += data .result [i ]['id' ];
l += '" title="Edit"><img src="__ROOT__/__PUBLIC__/resources/images/icons/pencil.png" alt="Edit" /></a>' ;
l += '<a href="__APP__/product/delete/id/' ;
l += data .result [i ]['id' ];
l += '" title="Delete"><img src="__ROOT__/__PUBLIC__/resources/images/icons/cross.png" alt="Delete" /></a>' ;
l += '<a href="__APP__/product/addFun" title="Edit Meta"><img src="__ROOT__/__PUBLIC__/resources/images/icons/hammer_screwdriver.png" alt="Edit Meta"/></a></td></tr>' ;
alert (l );
$ ('#tbodyn' ).html (l );
}
});
l += '<tr><td><input type="checkbox"/></td>' ;
l += '<td>' +data .result [i ]['id' ]+'</td>' ;
l += ' <td><a href="#" title="title">' +data .result [i ]['name' ]+'</a></td>' ;
l += '<td>' +data .result [i ]['price' ]+'</td>' ;
l += '<td>' +data .result [i ]['count' ]+'</td>' ;
l += '<td><a href="__APP__/product/updata/id/' ;
l += data .result [i ]['id' ];
l += '" title="Edit"><img src="__ROOT__/__PUBLIC__/resources/images/icons/pencil.png" alt="Edit" /></a>' ;
l += '<a href="__APP__/product/delete/id/' ;
l += data .result [i ]['id' ];
l += '" title="Delete"><img src="__ROOT__/__PUBLIC__/resources/images/icons/cross.png" alt="Delete" /></a>' ;
l += '<a href="__APP__/product/addFun" title="Edit Meta"><img src="__ROOT__/__PUBLIC__/resources/images/icons/hammer_screwdriver.png" alt="Edit Meta"/></a></td></tr>' ;
alert (l );
$ ('#tbodyn' ).html (l );
}
});
}
</script>