zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    Oracle创建上下文 SYS_CONTEXT
    闪回版本查询
    物化视图创建案例
    Oracle 多租户环境学习路线图
    【Mysql MHA】CentOS7.6+Mysql8.0.16 入坑
    【翻译】--19C Oracle 安装指导
    Docker(3)---常用命令
    Docker(2)---安装(设置镜像加速器)
    Docker(1)---基础概念
    AMQP高级消息队列协议
  • 原文地址:https://www.cnblogs.com/z-han49888/p/6163185.html
Copyright © 2011-2022 走看看