table_adminlog.class.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. /**
  3. * 数据库表:管理员日志表
  4. *
  5. * @createtime 2018/03/01
  6. * @author 空竹
  7. * @copyright 芝麻开发(http://www.zhimawork.com)
  8. */
  9. class Table_adminlog extends Table {
  10. protected $table_name = 'adminlog';//表名
  11. protected $table_id = 'adminlog_id';//指定ID字段名称,必须
  12. protected $table_status = '';//指定状态字段名称,如果有
  13. protected $table_order = '';//指定排序字段名称,如果有
  14. //数据库结构
  15. protected function struct(){
  16. $attr = array();
  17. $attr['id'] = 'adminlog_id';
  18. $attr['adminid'] = 'adminlog_admin';//操作管理员ID
  19. $attr['time'] = 'adminlog_time';//日志时间
  20. $attr['content'] = 'adminlog_log';//日志内容
  21. $attr['ip'] = 'adminlog_ip';//操作者IP
  22. return $attr;
  23. }
  24. //增
  25. //@param $attr array -- 键值同struct()返回的数组
  26. public function add($attr){
  27. $time = time();
  28. $ip = Env::getIP();
  29. $param = array (
  30. 'adminlog_admin' => array('number', $attr['adminid']),
  31. 'adminlog_ip' => array('string', $ip),
  32. 'adminlog_time' => array('number', $time),
  33. 'adminlog_log' => array('string', $attr['content'])
  34. );
  35. return $this->pdo->sqlinsert($this->table_fullname, $param);
  36. }
  37. //获取列表(分页)
  38. //$count、$page和$pagesize都为0时,返回全部结果(适用于无需分页的情况)
  39. //
  40. //@param $filter array -- 过滤条件,格式见Table::filterToWhere
  41. //@param $count -- 0:返回列表 1:返回结果数量
  42. //@param $page -- 当前第几页
  43. //@param $pagesize -- 每页数量
  44. public function getList($filter = array(), $count = 0, $page = 0, $pagesize = 0){
  45. $where = $this->filterToWhere($filter);
  46. if($count == 0){//列表
  47. $sql = "select * from ". $this->table_fullname ." $where order by adminlog_id desc";
  48. if($page > 0){//分页
  49. $startrow = ($page - 1) * $pagesize;
  50. $sql_limit = " limit $startrow, $pagesize";
  51. $sql .= $sql_limit;
  52. }
  53. $rs = $this->pdo->sqlQuery($sql);
  54. $r = array();
  55. if($rs){
  56. foreach($rs as $key => $val){
  57. $r[$key] = $this->dataToAttr($val);
  58. }
  59. return $r;
  60. }else{
  61. return $r;
  62. }
  63. }else{//统计
  64. $sql = "select count(*) as c from ". $this->table_fullname . " $where ";
  65. $rs = $this->pdo->sqlQuery($sql);
  66. if($rs){
  67. return $rs[0]['c'];
  68. }else{
  69. return 0;
  70. }
  71. }
  72. }
  73. }