| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- <?php
- /**
- *****************************************************************
- * 联系QQ: 290802026 *
- * 版 本: V2.0 *
- * 开发者:雨中磐石工作室 *
- * 邮 箱: admin@rockoa.com *
- * 网 址: http://www.rockoa.com/ *
- * 说 明: 数据模型 *
- * 备 注: 未经允许不得商业出售,代码欢迎参考纠正 *
- *****************************************************************
- */
- abstract class Model{
-
- public $perfix = PREFIX;
- public $rock;
- public $db;
- public $table;
- public $adminname;
- public $adminid;
- public $tempxinxi = array();
-
- public function __construct($table='')
- {
- $this->rock = $GLOBALS['rock'];
- $this->db = $GLOBALS['db'];
- $this->adminid = $this->rock->adminid;
- $this->adminname = $this->rock->adminname;
- $this->settable($table);
- $this->initModel();
- }
-
- public function settable($table, $qzbo=true)
- {
- $this->table = ''.$this->perfix.''.$table.'';
- if(!$qzbo)$this->table = $table;
- }
-
- public function initModel(){}
-
- public function getmou($fields, $where, $order='')
- {
- return $this->db->getmou($this->table, $fields, $where, $order);
- }
- public function getone($where, $fields='*', $order='')
- {
- return $this->db->getone($this->table, $where, $fields, $order);
- }
-
- public function getrows($where, $fields='*', $order='', $limit='')
- {
- return $this->db->getrows($this->table, $where, $fields, $order, $limit);
- }
-
- public function getall($where, $fields='*', $order='', $limit='')
- {
- $sql = $this->db->getsql(array(
- 'fields' => $fields,
- 'table' => $this->table,
- 'where' => $where,
- 'order' => $order,
- 'limit' => $limit
- ));
- return $this->db->getall($sql);
- }
-
- public function getarr($where, $fields='*', $kfied='id')
- {
- return $this->db->getarr($this->table, $where, $fields, $kfied);
- }
- public function rows($where)
- {
- return $this->db->rows($this->table, $where);
- }
- public function query($where, $fields='*', $order='', $limit='')
- {
- $sql = $this->db->getsql(array(
- 'fields' => $fields,
- 'table' => $this->table,
- 'where' => $where,
- 'order' => $order,
- 'limit' => $limit
- ));
- return $this->db->query($sql);
- }
-
- public function record($arr, $where='')
- {
- return $this->db->record($this->table, $arr, $where);
- }
-
- public function update($arr,$where)
- {
- return $this->record($arr, $where);
- }
-
- public function insert($arr)
- {
- $nid = 0;
- if($this->record($arr, ''))$nid = $this->db->insert_id();
- return $nid;
- }
-
- public function insertAll($arr)
- {
- $name = $values = '';
- foreach($arr as $k=>$rs){
- $cont = '';
- foreach($rs as $i=>$v){
- if($k==0)$name.=',`'.$i.'`';
- $cont.=",".$this->db->toaddval($v)."";
- }
- $cont = substr($cont, 1);
- if($k>0)$values.=',';
- $values.='('.$cont.')';
- }
- return $this->db->insert($this->table, substr($name, 1),'values '.$values.'', true);
- }
-
- public function getwhere($where='')
- {
- return $this->db->getwhere($where);
- }
-
- public function getfields()
- {
- return $this->db->getallfields($this->table);
- }
-
- public function delete($where)
- {
- return $this->db->delete($this->table, $where);
- }
-
- public function getlimit($where, $page=1, $fields='*', $order='', $limit=20, $table='')
- {
- if($order != '')$order = 'order by '.$order.'';
- $where = $this->getwhere($where);
- if($table == '')$table = $this->table;
- $sql = "select $fields from $table where $where $order ";
- $count = $this->db->rows($table, $where);
- if($page <= 0)$page=1;
- $sql .= "limit ".($page-1)*$limit.",$limit";
- $rows = $this->db->getall($sql);
- $maxpage = ceil($count/$limit);
- return array(
- 'rows' => $rows,
- 'count' => $count,
- 'maxpage' => $maxpage,
- 'page' => $page,
- 'limit' => $limit,
- 'prevpage' => $page-1,
- 'nextpage' => $page+1,
- 'url' => ''
- );
- }
-
- public function isempt($str)
- {
- return $this->rock->isempt($str);
- }
-
- public function contain($str, $s1)
- {
- return $this->rock->contain($str, $s1);
- }
-
- public function getLastSql()
- {
- return $this->db->getLastSql();
- }
-
- public function count($where='1=1')
- {
- return $this->rows($where);
- }
-
- public function getXinxi($id,$fields='*')
- {
- if(isset($this->tempxinxi[$id]))return $this->tempxinxi[$id];
- $rs = $this->getone($id,$fields);
- $this->tempxinxi[$id] = $rs;
- return $rs;
- }
- }
- class sModel extends Model{}
|