PHP代码示例

PHP会员列表代码示例

<?php
class memberModel{
    public $_table = 'u_member';
    public function getinfo(){
        $arr = array(
            't1.ID',
            't1.CreateDate',
            'Member',
            'Sex',
            'Birthday',
            'Age',
            'Mobile',
            'Card',
            'CardType',
            'AvailablePoint',
            't1.Remark'
        );
        $table = "u_member AS t1 INNER JOIN u_card AS t2 ON t1.CardID = t2.ID";
        $res['num'] = DB::num_row($table,$arr);
        $res['list'] = DB::findAll($table,$arr);

        return $res;
    }
    public function num(){
        $table = $this->_table;
        $arr = array( 'ID');
        $res['num'] = DB::num_row($table,$arr);
        return $res;
    }
    public function page(){
        $num = 10;
        
        $num = isset($_POST['num'])?intval($_POST['num']):$num;

        if(isset($_POST['num'])){
            $_SESSION['num'] = $_POST['num'];
        }

        $nums['nums'] = isset($_SESSION['num'])?intval($_SESSION['num']):$num;

        $page = isset($_GET['page'])?intval($_GET['page']):1;

        $arr1 = array(
            'ID'
        );

        $rows = DB::num_row($this->_table,$arr1);

        $pages = ceil($rows/$nums['nums']);

        if($page > $pages){
            VIEW::display('template/tpl/test/404.html');
            exit;
        }

        $start = ($page-1)*$nums['nums'];

        $url = '/member_list/';

        $nav['nav'] = $this->getPageHtml($page, $pages, $url);

        $arr2 = array(
            't1.ID',
            'Member',
            'Sex',
            'Birthday',
            'Age',
            'Mobile',
            'Card',
            'CardType',
            'AvailablePoint',
            't1.Remark',
            'StateID'
        );

        $table = "u_member AS t1 INNER JOIN u_card AS t2 ON t1.CardID = t2.ID ORDER BY CardID LIMIT {$start},{$nums['nums']}";
        
        $res['list'] = DB::findAll($table,$arr2);
        $res['nav'] = $nav;
        $res['nums'] = $nums;
        return $res;
    }
    public function getPageHtml($page, $pages, $url){
        //最多显示多少个页码
        $_pageNum = 5;
        //当前页面小于1 则为1
        $page = $page<1?1:$page;
        //当前页大于总页数 则为总页数
        $page = $page > $pages ? $pages : $page;
        //页数小当前页 则为当前页
        $pages = $pages < $page ? $page : $pages;

        //计算开始页
        $_start = $page - floor($_pageNum/2);
        $_start = $_start<1 ? 1 : $_start;
        //计算结束页
        $_end = $page + floor($_pageNum/2);
        $_end = $_end>$pages? $pages : $_end;

        //当前显示的页码个数不够最大页码数,在进行左右调整
        $_curPageNum = $_end-$_start+1;
        //左调整
        if($_curPageNum<$_pageNum && $_start>1){
            $_start = $_start - ($_pageNum-$_curPageNum);
            $_start = $_start<1 ? 1 : $_start;
            $_curPageNum = $_end-$_start+1;
        }
        //右边调整
        if($_curPageNum<$_pageNum && $_end<$pages){
            $_end = $_end + ($_pageNum-$_curPageNum);
            $_end = $_end>$pages? $pages : $_end;
        }

        $_pageHtml = '<ul class="pagination">';

        if ($_start == 1) {
            $_pageHtml .= '<li><a class="no" title="第一页">首页</a></li>';
        } else {
            $_pageHtml .= '<li><a  title="第一页" href="' . $url . '1.html">首页</a></li>';
        }
        if ($page == 2 || $page == 3) {
            $_pageHtml = '<ul class="pagination"><li><a  title="第一页" href="' . $url . '1.html">首页</a></li>';
        }
        if ($page > 1) {
            $_pageHtml .= '<li><a  title="上一页" href="' . $url . ($page - 1) . '.html">«</a></li>';
        }
        for ($i = $_start; $i <= $_end; $i++) {
            if ($i == $page) {
                $_pageHtml .= '<li><a class="active">' . $i . '</a></li>';
            } else {
                $_pageHtml .= '<li><a href="' . $url . $i . '.html">' . $i . '</a></li>';
            }
        }
        if ($page < $_end) {
            $_pageHtml .= '<li><a  title="下一页" href="' . $url . ($page + 1) . '.html">»</a></li>';
        }
        if ($_end == $pages) {
            $_pageHtml .= '<li><a class="no" title="最后一页">尾页</a></li>';
        } else {
            $_pageHtml .= '<li><a  title="最后一页" href="' . $url . $pages . '.html">尾页</a></li>';
        }
        $_pageHtml .= '</ul>';
        return $_pageHtml;
    }
    public function member_search(){
        $_POST['datemax'] = @!isset($_POST['datemax'])?@$_SESSION['date_start']:$_POST['datemax'];
        $_SESSION['date_start'] = @$_POST['datemax'] == ''?'1900-01-01':$_POST['datemax'];
        $_POST['datemin'] = @!isset($_POST['datemin'])?@$_SESSION['date_end']:$_POST['datemin'];
        $_SESSION['date_end'] = @$_POST['datemin'] == ''?'9999-12-31': $_POST['datemin'];
        $_POST['content'] = @!isset($_POST['content'])?@$_SESSION['content']:$_POST['content'];
        $_SESSION['content'] = @$_POST['content'] == ''?'%':$_POST['content'];
        $arr = array(
            't1.ID',
            't1.Member',
            't1.Sex',
            't1.Birthday',
            'Mobile',
            'stateID',
            't1.Remark',
            'AvailablePoint',
            'Age',
            't2.CardType',
            't2.Card',
            'StateID'
        );
        $where = "t1.Birthday BETWEEN '{$_SESSION['date_start']}' AND '{$_SESSION['date_end']}' AND (t1.Member LIKE '%{$_SESSION['content']}%' OR t1.Mobile LIKE '%{$_SESSION['content']}%' OR t2.Card LIKE '%{$_SESSION['content']}%')";

        
        $table = 'u_member AS t1 INNER JOIN u_card AS t2 ON t1.CardID = t2.ID';
        //$res['list'] = DB::findAll($table,$arr,$where);
        //$res['num'] = DB::num_row($table,$arr,$where);
        //return $res;

        $num = 10;

        $num = isset($_POST['num'])?intval($_POST['num']):$num;

        if(isset($_POST['num'])){
            $_SESSION['num'] = $_POST['num'];
        }

        $nums['nums'] = isset($_SESSION['num'])?intval($_SESSION['num']):$num;

        $page = isset($_GET['page'])?intval($_GET['page']):1;

        $rows = DB::num_row($table,$arr,$where);
        if ($rows === 0){
            $where = "t1.Member LIKE '%{$_SESSION['content']}%' OR t1.Mobile LIKE '%{$_SESSION['content']}%' OR t2.Card LIKE '%{$_SESSION['content']}%'";
            $rows = DB::num_row($table,$arr,$where);
            if ($rows ===0){
                $pages = 0;
                $url = '';
                $nav['nav'] = $this->getPageHtml($page, $pages, $url);
                $res['status'] = false;
                $res['nav'] = $nav;
                $res['nums'] = $nums;
                return $res;
            }
        }
        $res['num'] = $rows;
        $pages = ceil($rows/$nums['nums']);

        if($page > $pages){
            VIEW::display('template/tpl/test/404.html');
            exit;
        }

        $start = ($page-1)*$nums['nums'];

        $url = '/member_search/';
        $nav['nav'] = $this->getPageHtml($page, $pages, $url);


        $where = "t1.Birthday BETWEEN '{$_SESSION['date_start']}' AND '{$_SESSION['date_end']}' AND (t1.Member LIKE '%{$_SESSION['content']}%' OR t1.Mobile LIKE '%{$_SESSION['content']}%' OR t2.Card LIKE '%{$_SESSION['content']}%')  LIMIT {$start},{$nums['nums']}";
        $res['list'] = DB::findAll($table,$arr,$where);
        if ($res['list'] === false||(!isset($_POST['datemax'])&&(!isset($_POST['datemin'])))){
            $where = "t1.Member LIKE '%{$_SESSION['content']}%' OR t1.Mobile LIKE '%{$_SESSION['content']}%' OR t2.Card LIKE '%{$_SESSION['content']}%'  LIMIT {$start},{$nums['nums']}";
            $res['list'] = DB::findAll($table,$arr,$where);
        }
        $res['status'] = true;
        $res['nav'] = $nav;
        $res['nums'] = $nums;
        return $res;
    }
    public function member_view(){
        $id = $_REQUEST['id'];
        $arr = array(
            't1.ID',
            't1.CreateDate',
            'Member',
            'Sex',
            'Birthday',
            'Age',
            'Mobile',
            'Card',
            'CardType',
            'AvailablePoint',
            'Account',
            'times',
            'StartDate',
            'EndDate',
            't1.Remark',
            'State',
            'StateID',
            'Point',
            'IntroducerPoint'
        );
        $table = "u_member AS t1 INNER JOIN u_card AS t2 ON t1.CardID = t2.ID";
        $where = "t1.ID = '{$id}'";
        $res = DB::findOne($table,$arr,$where);
        return $res;
    }
}

您可能还喜欢...

发表回复