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;
}
}