HANYANG_REACT/lib/base/cmanage.class.php

197 lines
5.6 KiB
PHP

<?php
class Cmanage extends BaseCode {
public $TB;
function __construct( $table ){
parent::__construct();
$this->TB = $table;
}
public function getDataList( $fields="", $where="", $orderby="", $limit=array() ){ //데이터 리스트
if( !$fields ) $fields = "*";
if( !$where ){
$where = new DB_where("and");
}
$wqry = $where->get_where();
$whereqry = $wqry['qry'];
$whererow = $wqry['val'];
//$sql = "select {$fields} from {$this->TB} where {$whereqry} ".(($orderby)?"order by {$orderby}":""). $this->DB->_limit($limit[0],$limit[1]);
$sql = $this->DB->addLimit("select {$fields} from {$this->TB} where {$whereqry}",$orderby,$limit[0],$limit[1]);
$rst = $this->DB->qry($sql, $whererow);
$row = array();
while( $tmp = $this->DB->fetch_array($rst) ){
$row[] = $tmp;
}
return $row;
}
public function getDataPage($fields="", $query=array(), $where="" ,$orderby=""){ //데이터 리스트 (페이징)
$lists = $this->getDataPageCommon($fields, $query, $where, $orderby);
$lists->url = $_SERVER['PHP_SELF'];
$lists->linktype = "";
$lists->getCommonList($this->TB);
return $lists;
}
public function getDataPageScript($fields="", $query=array(), $where="" ,$orderby="", $url=""){ //데이터 리스트 (페이징)
$lists = $this->getDataPageCommon($fields, $query, $where, $orderby);
$lists->linktype = "script";
$lists->url = $url?:$_SERVER['PHP_SELF'];
$lists->getCommonList($this->TB);
return $lists;
}
public function getDataPageCommon($fields="", $sqldata=array(), $where="" ,$orderby=""){ //데이터 리스트 (페이징)
if( !$fields ) $fields = "*";
if( !$where ){
$where = new DB_where("and");
}
$wqry = $where->get_where();
$whereqry = $wqry['qry'];
$whererow = $wqry['val'];
$query = array_merge(array(
"mode" => $sqldata['mode']?:"",
"viewnum" => $sqldata['viewnum']?:"",
"sfld" => $sqldata['sfld']?:"",
"stxt" => $sqldata['stxt']?:"",
"ofld" => $sqldata['ofld']?:"",
"oasc" => $sqldata['oasc']?:"",
), $sqldata);
$page = $sqldata['page']?:1;
unset($query['page']);
$lists = new clist();
$lists->DB->query_print = $this->DB->query_print;
$lists->DB->query_record = $this->DB->query_record;
$lists->fld = $fields;
$lists->where = $whereqry;
$lists->whererow = $whererow;
$lists->orderby = $orderby;
$lists->url = $_SERVER['PHP_SELF'];
$lists->query = $query;
$lists->page = $page;
$lists->viewnum = $query['viewnum']?:$GLOBALS['_varsBaseCode']['line_num'];
$lists->rownum = $query['rownum']?:$GLOBALS['_varsBaseCode']['page_num'];
return $lists;
}
public function getData( $fields="", $urow="", $where="", $orderby="" ) {
if( !$fields ) $fields = "*";
if( gettype($urow) == "object" && get_class($urow) == "DB_where" ){
$where = $urow;
}
if( !$where ){
$where = new DB_where("and");
}
if( gettype($urow) == "array" ){
foreach((array)$urow as $key => $val){
if( $key ){
$where->add("{$key} = ?",$val);
}
}
}
$wqry = $where->get_where();
$whereqry = $wqry['qry'];
$whererow = $wqry['val'];
$sql = "select {$fields} from ".$this->TB." where {$whereqry}". ($orderby?" order by {$orderby}":"");
return $this->DB->queryFirstRow($sql, $whererow);
}
public function putData( $sqldata ) { //데이터 등록
if( $this->DB->tableExists( $this->TB ) ){
return $this->DB->insert( $this->TB, $sqldata);
}
return 0;
}
public function setData( $sqldata, $urow="", $where="" ) { //데이터 수정
if( gettype($urow) == "object" && get_class($urow) == "DB_where" ){
$where = $urow;
}
if( !$where ){
$where = new DB_where("and");
}
if( gettype($urow) == "array" ){
foreach((array)$urow as $key => $val){
if( $key ){
$where->add("{$key} = ?",$val);
}
}
}
$wqry = $where->get_where();
$whereqry = $wqry['qry'];
$whererow = $wqry['val'];
return $this->DB->update( $this->TB, $sqldata, $whereqry, $whererow );
}
public function setDataParts( $sqldata, $field="", $urow="", $where=""){ //데이터 일괄 수정
$fld = "";
$arr = array();
$wre = new DB_where("and");
if( gettype($field) == "object" && get_class($field) == "DB_where" ){
$wre = $field;
}else if( gettype($urow) == "object" && get_class($urow) == "DB_where" ){
$wre = $urow;
}else if( $where ){
$wre = $where;
}
if( gettype($field) == "array" ){
$arr = $field;
}else if( gettype($urow) == "array" ){
$arr = $urow;
}
if( gettype($field) == "string" ){
$fld = $field;
}
if( @count($arr) > 0 ){
$subwhere = $wre->sub_where("or");
foreach((array)$arr as $key => $val){
$subwhere->add( ($fld?:$key)." = ?",$val);
}
}
$wqry = $wre->get_where();
$whereqry = $wqry['qry'];
$whererow = $wqry['val'];
return $this->DB->update( $this->TB, $sqldata, $whereqry, $whererow );
}
public function delData( $urow="", $where="" ) { //데이터 삭제
if( gettype($urow) == "object" && get_class($urow) == "DB_where" ){
$where = $urow;
}
if( !$where ){
$where = new DB_where("and");
}
if( gettype($urow) == "array" ){
foreach((array)$urow as $key => $val){
if( $key ){
$where->add("{$key} = ?",$val);
}
}
}
$wqry = $where->get_where();
$whereqry = $wqry['qry'];
$whererow = $wqry['val'];
return $this->DB->delete( $this->TB, $whereqry, $whererow );
}
}