久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

thinkPHP分頁功能實例詳解

這篇文章主要介紹了thinkPHP分頁功能,結合完整實例形式分析了thinkPHP基于商品模型實現分頁功能的相關操作技巧,需要的朋友可以參考下

本文實例講述了thinkPHP分頁功能。分享給大家供大家參考,具體如下:

interface ServiceInterFace:

<?php
/**
 * InterFaceService
 * @author yhd
 */
namespace Red;
interface ServiceInterFace {
  /**
   * 實例化當前類
   */
  public static function getInstance();
}

StaticService 靜態服務類:

<?php
/**
 * 靜態服務類
 * StaticService
 * @author yhd
 */
namespace Red;
class StaticService{
  protected static $data;
  /**
   * 設置靜態數據
   * @param string $key key
   * @param mixed $data data
   * @return mixed
   */
  public static function setData($key,$data){
    self::$data[$key] = $data;
    return self::$data[$key];
  }
  /**
   * 通過引用使用靜態數據
   * @param string $key key
   * @return mixed
   */
  public static function & getData($key){
    if(!isset(self::$data[$key])){
      self::$data[$key] = null;
    }
    return self::$data[$key];
  }
  /**
   * 緩存實例化過的對象
   * @param string $name 類名
   * @return 對象
   */
  public static function getInstance($name){
    $key = 'service_@_'.$name;
    $model = &self::getData($key);
    if($model === null){
      $model = new $name();
    }
    return $model;
  }
  /**
   * html轉義過濾
   * @param mixed $input 輸入
   * @return mixed
   */
  public static function htmlFilter($input){
    if(is_array($input)) {
      foreach($input as & $row) {
        $row = self::htmlFilter($row);
      }
    } else {
      if(!get_magic_quotes_gpc()) {
        $input = addslashes($input);
      }
      $input = htmlspecialchars($input);
    }
    return $input;
  }
}

abstract AbProduct  抽象商品管理類:

<?php
/**
* 抽象商品管理類
* AbProduct.class.php
* @lastmodify 2015-8-17
* @author yhd
*/
namespace Red\Product;
abstract class AbProduct{
  public $errorNum;
  /*
  *返回錯誤信息
  *@param $errorNum 錯誤代碼
  */
  public function GetStatus(){
    $errorNum = $this->errorNum;
    switch($errorNum){
        case 0:
            $data['status'] = 0;
            $data['message'] = '收藏成功';
            break;
        case 1:
            $data['status'] = 1;
            $data['message'] = '收藏失敗';
            break;
        case 2:
            $data['status'] = 2;
            $data['message'] = '已收藏';
            break;
        case 3:
            $data['status'] = 3;
            $data['message'] = '未登陸';
            break;
        case 4:
            $data['status'] = 4;
            $data['message'] = '缺少參數';
            break;
        default:
            $data['status'] = 200;
            $data['message'] = '未知錯誤';
    }
    return $data;
  }

MemberModel 會員模型:

<?php
/**
* 會員模型
* MemberModel.class.php
* @copyright (C) 2014-2015 red
* @license http://www.red.com/
* @lastmodify 2015-8-17
* @author yhd
*/
namespace Red\Passport\Models;
use Think\Model;
use Red\ServiceInterFace;
use Red\StaticService;
class MemberModel extends Model implements ServiceInterFace{
  protected $userId;
  protected $error;
  protected function _initialize(){
    $this->userId = getUserInfo(0);
  }
   /**
   * 實例化本類
   * @return MemberModel
   */
  public static function getInstance() {
    return StaticService::getInstance(__CLASS__);
  }
   /**
   *  獲取登錄用戶信息
   * @param string  $data 查詢條件
   * @return array
   */
  public function getUser($data = '') {
    if(empty($data)){
      return $this->where("id=".$this->userId)->find();
    }else{
      return $this->field($data)->where("id=".$this->userId)->find();
    }
  }
  /**
   * 修改用戶信息
   * @param array $data
   * @param array $where 查詢條件
   */
  public function editUserInfo($data, $where = '') {
    if( $this->_before_check($data) === false ){
      return $this->error['msg'];
    }
    if(!empty($where) && is_array($where)){
      $condition[ $where[0] ] = array('eq', $where[1]);
      return $this->where($condition)->save($data);
    }
    return $this->where("id=".$this->userId)->save($data);
  }
  /**
   * 獲取用戶信息
   * @param string $data 用戶名
   * return array()
   */
  public function checkUserInfo($str, $field = ''){
    //注冊類型
    $info = CheckType($str);
    $condition[$info] = array('eq',$str);
    if(!empty($field)){
      return $this->field($field)->where($condition)->find();
    }
    return $this->where($condition)->find();
  }
  /**
   * 獲取用戶信息
   * @param array $data 用戶名
   * return array()
   */
  public function getAccount($data){
    //注冊類型
    $info = CheckType($data);
    $condition['id'] = array('eq',$this->userId);
    $condition[$info] = array('eq',$data);
    return $this->where($condition)->find();
  }
  /**
   * 修改用戶密碼
   * @param array $data['id']用戶ID
   * @param $data['passWord']用戶密碼
   * return true or false
   */
  public function upUserPassById($data){
    $condition['id'] = array('eq',$data['id']);
    $status = $this->where($condition)->save(array("password"=>md5($data['password'])));
    if($status){
        return TRUE;
    }else {
        return FALSE;
    }
  }
  /**
   * 校驗用戶的賬號或者密碼是否正確
   * @param $data['username'] 用戶名
   * @param $data['password'] 密碼
   * return true or false
   */
  public function checkUserPasswd($data= array()){
      $type = CheckType($data['username']);
      $condition[$type] = array('eq',$data['username']);
      $condition['password'] = array('eq',md5($data['password']));
       return $this->where($condition)->find();
  }
  /**
   * 網頁登錄校驗token
   * @param token string
   * return bool
   */
  public function checkToken($token){
      return $this->autoCheckToken($token);
  }
  /**
   * 后臺封號/解封
   * param int $user_id
   */
  public function changeStatus($data){
    if($this->save($data)){
      return true;
    }else{
      return false;
    }
  }
  protected function _before_check(&$data){
    if(isset($data['username']) && empty($data['username'])){
      $this->error['msg'] = '請輸入用戶名';
      return false;
    }
    if(isset($data['nickname']) && empty($data['nickname'])){
      $this->error['msg'] = '請輸入昵稱';
      return false;
    }
    if(isset($data['realname']) && empty($data['realname'])){
      $this->error['msg'] = '請輸入真名';
      return false;
    }
    if(isset($data['email']) && empty($data['email'])){
      $this->error['msg'] = '請輸入郵箱';
      return false;
    }
    if(isset($data['mobile']) && empty($data['mobile'])){
      $this->error['msg'] = '請輸入手機號碼';
      return false;
    }
    if(isset($data['password']) && empty($data['password'])){
      $this->error['msg'] = '請輸入密碼';
      return false;
    }
    if(isset($data['headimg']) && empty($data['headimg'])){
      $this->error['msg'] = '請上傳頭像';
      return false;
    }
    return true;
  }
}

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

數字條自帶a鏈接標簽代碼和選中效果標簽 數字帶class名稱為 page-num ,當前頁自帶 page-num-current 樣式 !-- 分頁 --{pboot:if({page:rows}0)} div class=pagebar div class=pagination a class=page-item page-link hid
適用范圍:分頁條標簽適用所有執行了分頁的頁面 標簽作用:用于輸出分頁代碼 來源:html5模板網 html5code.net 1、分頁條標簽 {page:bar} 系統內置的完整分頁條 {page:current} 當前頁碼 {page
下面小編就為大家分享一篇ThinkPHP整合datatables實現服務端分頁的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇thinkphp3.2.0 setInc方法 源碼全面解析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了tp5(thinkPHP5)操作mongoDB數據庫的方法,結合實例形式簡單分析了mongoDB數據庫及thinkPHP5連接、查詢MongoDB數據庫的基本操作技巧,需要的朋友可以參考下
thinkphp官網在去年的時候發布了tp的顛覆版本thinkphp5,tp5確實比之前的版本好用了很多,那么下面這篇文章就來給大家介紹關于在云虛擬主機部署thinkphp5項目的相關資料,需要的朋友可以
主站蜘蛛池模板: 可以看黄的视频 | 91影院| 国产丝袜一区二区三区免费视频 | 色爱综合网 | 久久av网| 国产在线观看一区二区三区 | 亚洲欧美精品久久 | 精品亚洲一区二区三区 | 中文字幕三区 | 午夜视频在线观看一区二区 | 伊人精品在线视频 | av网站在线看 | 欧美在线一区二区三区四区 | 亚洲自拍偷拍免费视频 | 91婷婷韩国欧美一区二区 | 成人性视频在线 | 国产91精品久久久久久久网曝门 | 国产精品夜间视频香蕉 | 精品一区二区三区免费视频 | a视频在线观看 | 日韩欧美不卡 | 欧美中文字幕在线观看 | 在线中文字幕视频 | 国产午夜精品一区二区三区四区 | 久久久久久久电影 | 色综合一区 | 国产成人99久久亚洲综合精品 | 97色在线观看免费视频 | 丝袜天堂| 97色在线观看免费视频 | 亚洲一二三区精品 | 中文二区| 色999视频 | 99热播放| 亚洲一页 | 91在线免费视频 | 欧美亚洲视频在线观看 | 欧美一区二区三区精品免费 | 国产精品一区二区三区四区五区 | 亚洲精品中文字幕在线 | 91视频网 |