浏览代码

修改reader表

chenbo 4 年之前
父节点
当前提交
d6b5a9d286
共有 4 个文件被更改,包括 169 次插入118 次删除
  1. 85 0
      _sql/fission.sql
  2. 4 12
      lib/reader.class.php
  3. 41 11
      lib/table/table.class.php
  4. 39 95
      lib/table/table_reader.class.php

+ 85 - 0
_sql/fission.sql

@@ -0,0 +1,85 @@
+-- phpMyAdmin SQL Dump
+-- version 4.9.7
+-- https://www.phpmyadmin.net/
+--
+-- 主机: localhost
+-- 生成日期: 2021-03-23 17:02:33
+-- 服务器版本: 5.5.62-log
+-- PHP 版本: 5.6.40
+
+SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
+SET AUTOCOMMIT = 0;
+START TRANSACTION;
+SET time_zone = "+00:00";
+
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8mb4 */;
+
+--
+-- 数据库: `fission`
+--
+
+-- --------------------------------------------------------
+
+--
+-- 表的结构 `fission_baseconfig`
+--
+
+CREATE TABLE `fission_baseconfig` (
+  `baseconfig_id` int(11) NOT NULL COMMENT 'id',
+  `baseconfig_key` varchar(100) DEFAULT NULL COMMENT '键名',
+  `baseconfig_value` varchar(200) DEFAULT NULL COMMENT '键值'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- --------------------------------------------------------
+
+--
+-- 表的结构 `fission_reader`
+--
+
+CREATE TABLE `fission_reader` (
+  `reader_id` int(11) NOT NULL COMMENT 'id',
+  `reader_country` varchar(20) DEFAULT NULL COMMENT '国家地区',
+  `reader_province` varchar(20) DEFAULT NULL COMMENT '省份',
+  `reader_city` varchar(20) DEFAULT NULL COMMENT '城市',
+  `reader_headimgurl` varchar(255) DEFAULT NULL COMMENT '头像URL',
+  `reader_openid` varchar(200) DEFAULT NULL COMMENT '微信openid',
+  `reader_nickname` varchar(20) DEFAULT NULL COMMENT '昵称',
+  `reader_sex` tinyint(1) DEFAULT '0' COMMENT '性别 1-男 2-女',
+  `reader_addtime` int(11) DEFAULT NULL COMMENT '添加时间',
+  `reader_count` int(11) NOT NULL DEFAULT '0' COMMENT '分享次数'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+--
+-- 转储表的索引
+--
+
+--
+-- 表的索引 `fission_baseconfig`
+--
+ALTER TABLE `fission_baseconfig`
+  ADD PRIMARY KEY (`baseconfig_id`);
+
+--
+-- 表的索引 `fission_reader`
+--
+ALTER TABLE `fission_reader`
+  ADD PRIMARY KEY (`reader_id`);
+
+--
+-- 在导出的表使用AUTO_INCREMENT
+--
+
+--
+-- 使用表AUTO_INCREMENT `fission_reader`
+--
+ALTER TABLE `fission_reader`
+  MODIFY `reader_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id', AUTO_INCREMENT=3;
+COMMIT;
+
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

+ 4 - 12
lib/reader.class.php

@@ -19,12 +19,6 @@ class Reader{
         return $Table_reader->getInfoById($id);
     }
 
-    static public function getInfoByPhone($phone)
-    {
-        $Table_reader = new Table_reader();
-        return $Table_reader->getInfoByPhone($phone);
-    }
-
     static public function getInfoByOpenId($openId)
     {
         $Table_reader = new Table_reader();
@@ -38,26 +32,24 @@ class Reader{
         return $id;
     }
 
-    static public function edit($id, $attrs)
+    static public function update($id, $attrs)
     {
         $Table_reader = new Table_reader();
-        return $Table_reader->edit($id, $attrs);
+        return $Table_reader->update($id, $attrs);
     }
 
-    static public function update($id, $attrs)
+    static public function addCount($id)
     {
         $Table_reader = new Table_reader();
-        return $Table_reader->update($id, $attrs);
+        return $Table_reader->addCount($id);
     }
 
-
     static public function del($id)
     {
         $Table_reader = new Table_reader();
         return $Table_reader->del($id);
     }
 
-
     static public function getList($filter = array(), $count=0, $page=0, $pageSize=0)
     {
         $Table_reader = new Table_reader();

+ 41 - 11
lib/table/table.class.php

@@ -48,15 +48,6 @@ abstract class Table {
 	//@param $attr array -- 键值同struct()返回的数组
 	abstract public function add($attr);
 
-	//获取列表(分页)
-	//$count、$page和$pagesize都为0时,返回全部结果(适用于无需分页的情况)
-	//
-	//@param $filter array -- 过滤条件,格式见Table::filterToWhere
-	//@param $count -- 0:返回列表 1:返回结果数量
-	//@param $page -- 当前第几页
-	//@param $pagesize -- 每页数量
-	abstract public function getList($filter = array(), $count = 0, $page = 0, $pagesize = 0);
-
 
 	///////////////////////////////////////////////////////////////
 	/**************非抽象方法,用于继承,也可以重载***************/
@@ -66,9 +57,7 @@ abstract class Table {
 
 		//查询语句必须用sql_check_input检查参数
 		$id = $this->pdo->sql_check_input(array('number', $id));
-        
         $sql = "select * from ". $this->table_fullname ." where ". $this->table_id ." = $id limit 1";
-        
         $rs = $this->pdo->sqlQuery($sql);
         $r  = array();
 		if($rs){
@@ -81,6 +70,47 @@ abstract class Table {
         }
 	}
 
+    //获取列表(分页)
+    //$count、$page和$pagesize都为0时,返回全部结果(适用于无需分页的情况)
+    //
+    //@param $filter array -- 过滤条件,格式见Table::filterToWhere
+    //@param $count -- 0:返回列表 1:返回结果数量
+    //@param $page -- 当前第几页
+    //@param $pagesize -- 每页数量
+    public function getList($filter = array(), $count = 0, $page = 0, $pagesize = 0){
+        $where = $this->filterToWhere($filter);
+
+        if($count == 0){//列表
+            $sql = "select * from ". $this->table_fullname ." $where order by ".$this->table_id." desc";
+
+            if($page > 0){//分页
+                $startrow = ($page - 1) * $pagesize;
+                $sql_limit = " limit $startrow, $pagesize";
+                $sql .= $sql_limit;
+            }
+
+            $rs  = $this->pdo->sqlQuery($sql);
+            $r   = array();
+            if($rs){
+                foreach($rs as $key => $val){
+                    $r[$key] = $this->dataToAttr($val);
+                }
+                return $r;
+            }else{
+                return $r;
+            }
+
+        }else{//统计
+            $sql = "select count(*) as c from ". $this->table_fullname . " $where ";
+            $rs  = $this->pdo->sqlQuery($sql);
+            if($rs){
+                return $rs[0]['c'];
+            }else{
+                return 0;
+            }
+        }
+    }
+
 	//删
 	public function del($id){
 		$where = array(

+ 39 - 95
lib/table/table_reader.class.php

@@ -22,61 +22,26 @@ class Table_reader extends Table
     {
         $attr = array();
 
-        $attr['id'] = 'reader_id';
-        $attr['phone'] = 'reader_phone';
-        $attr['wxopenid'] = 'reader_wxopenid';
-        $attr['name'] = 'reader_name';
-        $attr['sex'] = 'reader_sex';
-        $attr['addtime'] = 'reader_addtime';
-        $attr['count'] = 'reader_count';
+        $attr['id']         = 'reader_id';
+        $attr['country']    = 'reader_country';
+        $attr['province']   = 'reader_province';
+        $attr['city']       = 'reader_city';
+        $attr['headimgurl'] = 'reader_headimgurl';
+        $attr['openid']     = 'reader_openid';
+        $attr['nickname']   = 'reader_nickname';
+        $attr['sex']        = 'reader_sex';
+        $attr['addtime']    = 'reader_addtime';
+        $attr['count']      = 'reader_count';
 
         return $attr;
     }
 
-    public function getInfoById($id)
-    {
-
-        $id = $this->pdo->sql_check_input(array('number', $id));
-
-        $sql = "select * from " . $this->table_fullname . " where reader_id = $id limit 1";
-
-        $rs = $this->pdo->sqlQuery($sql);
-        $r = array();
-        if ($rs) {
-            foreach ($rs as $key => $val) {
-                $r[$key] = $this->dataToAttr($val);
-            }
-            return $r[0];
-        } else {
-            return $r;
-        }
-    }
-
-    public function getInfoByPhone($phone)
-    {
-
-        $phone = $this->pdo->sql_check_input(array('string', $phone));
-
-        $sql = "select * from " . $this->table_fullname . " where reader_phone = $phone limit 1";
-
-        $rs = $this->pdo->sqlQuery($sql);
-        $r = array();
-        if ($rs) {
-            foreach ($rs as $key => $val) {
-                $r[$key] = $this->dataToAttr($val);
-            }
-            return $r[0];
-        } else {
-            return $r;
-        }
-    }
-
     public function getInfoByOpenId($openId)
     {
 
         $openId = $this->pdo->sql_check_input(array('string', $openId));
 
-        $sql = "select * from " . $this->table_fullname . " where reader_wxopenid = $openId limit 1";
+        $sql = "select * from " . $this->table_fullname . " where reader_openid = $openId limit 1";
 
         $rs = $this->pdo->sqlQuery($sql);
         $r = array();
@@ -93,21 +58,32 @@ class Table_reader extends Table
     public function add($attr)
     {
         $param = array(
-            'reader_phone' => array('string', $attr['phone']),
-            'reader_wxopenid' => array('string', $attr['wxopenid']),
-            'reader_name' => array('string', $attr['name']),
-            'reader_sex' => array('number', $attr['sex']),
-            'reader_addtime' => array('number', time()),
-            'reader_count' => array('number', 0),
+            'reader_country'    => array('string', $attr['country']),
+            'reader_province'   => array('string', $attr['province']),
+            'reader_city'       => array('string', $attr['city']),
+            'reader_headimgurl' => array('string', $attr['headimgurl']),
+            'reader_openid'     => array('string', $attr['openid']),
+            'reader_nickname'   => array('string', $attr['nickname']),
+            'reader_sex'        => array('number', $attr['sex']),
+            'reader_addtime'    => array('number', time()),
+            'reader_count'      => array('number', 0),
         );
 
         return $this->pdo->sqlinsert($this->table_fullname, $param);
     }
 
-    public function edit($id, $attr)
+    public function update($id, $attr)
     {
         $param = array(
-            //
+            'reader_country'    => array('string', $attr['country']),
+            'reader_province'   => array('string', $attr['province']),
+            'reader_city'       => array('string', $attr['city']),
+            'reader_headimgurl' => array('string', $attr['headimgurl']),
+            'reader_openid'     => array('string', $attr['openid']),
+            'reader_nickname'   => array('string', $attr['nickname']),
+            'reader_sex'        => array('number', $attr['sex']),
+            'reader_addtime'    => array('number', time()),
+            //'reader_count'      => array('number', 0),
         );
 
         $where = array(
@@ -117,50 +93,18 @@ class Table_reader extends Table
         return $this->pdo->sqlupdate($this->table_fullname, $param, $where);
     }
 
-
-    //获取列表(分页)
-    //$count、$page和$pagesize都为0时,返回全部结果(适用于无需分页的情况)
-    //
-    //@param $filter array -- 过滤条件,格式见Table::filterToWhere
-    //@param $count -- 0:返回列表 1:返回结果数量
-    //@param $page -- 当前第几页
-    //@param $pagesize -- 每页数量
-    public function getList($filter = array(), $count = 0, $page = 0, $pagesize = 0)
+    public function addCount($id)
     {
+        $param = array(
+            'reader_addtime'    => array('number', time()),
+            'reader_count'      => array('string', 'reader_count+1'),
+        );
 
-        $where = $this->filterToWhere($filter);
-
-        if ($count == 0) {//列表
-
-            $sql = "select * from " . $this->table_fullname . " $where order by reader_addtime desc, reader_id desc";
-
-            if ($page > 0) {//分页
-                $startrow = ($page - 1) * $pagesize;
-                $sql_limit = " limit $startrow, $pagesize";
-                $sql .= $sql_limit;
-            }
-
-            $rs = $this->pdo->sqlQuery($sql);
-            $r = array();
-            if ($rs) {
-                foreach ($rs as $key => $val) {
-                    $r[$key] = $this->dataToAttr($val);
-                }
-                return $r;
-            } else {
-                return $r;
-            }
-
-        } else {//统计
+        $where = array(
+            'reader_id' => array('number', $id)
+        );
 
-            $sql = "select count(*) as c from " . $this->table_fullname . " $where ";
-            $rs = $this->pdo->sqlQuery($sql);
-            if ($rs) {
-                return $rs[0]['c'];
-            } else {
-                return 0;
-            }
-        }
+        return $this->pdo->sqlupdate($this->table_fullname, $param, $where);
     }
 
 }