• 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(urlfunction (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>
  • 相关阅读:
    身体很累(0,25)
    近期安排
    石子合并问题圆形版 HRBUST 1819区间dp+环形+四边形优化
    Common Subsequence HDU 1159 最长公共子序列Longest Common Subsequence,LCS
    二维树状数组 1:单点修改,区间查询 LibreOJ 133
    c++位运算
    石子合并问题直线版 HRBUST 1818 简单区间动规
    最少拦截系统 HDU 1257 LIS最长递增子序列
    Longest Common Subsequence Again HDU 2253 LCS+位压缩
    石子合并 HYSBZ 3229 区间dp,最优二叉树问题,加西亚瓦克斯算法(GarsiaWachs)
  • 原文地址:https://www.cnblogs.com/z-han49888/p/6163185.html
Copyright © 2020-2023  润新知