久久久久久久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項目的相關資料,需要的朋友可以
主站蜘蛛池模板: 成年人在线观看 | 久久99视频精品 | 国产亚洲精品久久yy50 | avmans最新导航地址 | 欧美一级一 | 国产精品久久久久久久久久久久 | 国产一区二区三区在线视频 | 欧美日韩在线一区二区三区 | 成人精品在线视频 | 在线观看视频h | 伊人亚洲| 欧美a区 | 国产h在线 | 福利精品在线观看 | 一区二区三区中文 | 免费观看一区二区三区毛片 | 欧美精品乱码久久久久久按摩 | 国产一区二区不卡 | 九九热最新地址 | 蜜桃一区二区三区 | 亚洲精品第一页 | 久久精品伊人 | 国产免费播放视频 | 国产精品一区二区三区四区 | 欧美视频1区 | 亚洲一区二区国产 | 在线视频成人 | 成人国产在线视频 | 一区二区三区视频在线免费观看 | 在线观看视频亚洲 | 黑人精品| 农村真人裸体丰满少妇毛片 | 国产第一页在线观看 | 欧美久久视频 | 国产精品久久久久久久岛一牛影视 | 亚洲一区二区精品视频 | 久草.com | 国产精品永久免费观看 | 黑人巨大精品欧美黑白配亚洲 | 视频二区国产 | 欧美成人免费电影 |