用户名验证: 用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>