thinkPHP -- 用户名验证、数据分页

用户名验证:  用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');
}
 

循环标签 <foreach></foreach> 
<foreach name="result" item="val">
(循环体)
</foreach>
 

标签赋值
{$_SESSION. admin.name}
相当于—  <?php echo $?_SESSION. admin.name>
重定向
// 重定向 在user控制器用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对象
// 第二步: 创建对象, 指定对象执行的方法
        $count = $model->count();// 查询满足要求的总记录数
        $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);
        }
局部刷新
需要用到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转成对象类型
      $ ('.pagination' ).html (data .page );
      var l  ‘' ; // l拼接的局部刷新部分标签的字符串
      for  (var i =0 ;2 ;i ++) {
       += '<tr><td><input type="checkbox"/></td>' ;
       += '<td>' +data .result [i ]['id' ]+'</td>' ;
       += ' <td><a href="#" title="title">' +data .result [i ]['name' ]+'</a></td>' ;
       += '<td>' +data .result [i ]['price' ]+'</td>' ;
       += '<td>' +data .result [i ]['count' ]+'</td>' ;
       += '<td><a href="__APP__/product/updata/id/' ;
       += data .result [i ]['id' ];
       += '" title="Edit"><img src="__ROOT__/__PUBLIC__/resources/images/icons/pencil.png" alt="Edit" /></a>' ;
       += '<a href="__APP__/product/delete/id/' ;
       += data .result [i ]['id' ];
       += '" title="Delete"><img src="__ROOT__/__PUBLIC__/resources/images/icons/cross.png" alt="Delete" /></a>' ;
       += '<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>

转载于:https://www.cnblogs.com/z-han49888/p/6163185.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值