20여개의 mysql 관련 클래스중에서 필요한 것만 모아서 짜집기한 클래스… 일반적인 mysql 클래스에 리스트와 페이징까지 한번에 처리하는 함수와 xml로 결과를 출력하는 함수 추가.
클래스내용 >>
[code] //DB클래스 class dbH { // PRIVATE 변수 private $CONN; // DB 커넥트 private $ERR_QUERY; // 에러가 발생한 쿼리 private $ERR_MSG; // 에러 메세지 private $RESULT; // 쿼리 결과 private $REC_COUNT; // 레코드 합계 private $ROW; // 레코드 결과 FETCH private $ROWNUM; // 현재 레코드 번호
// 클래스 초기화 function dbH() { $DB_HOST = “localhost”; $DB_USER = “new_chong”; $DB_PW = “new3432”; $DB_NAME = “new_chong”;
$this->CONN = mysql_connect($DB_HOST, $DB_USER, $DB_PW) or die(“데이터베이트 연결 실패! 환경설정을 확인해주세요.”); mysql_select_db($DB_NAME, $this->CONN) or die(“데이터베이트 접근 실패! 환경설정을 확인해주세요.”); }
function getMessage() { return $this->message; }
//GET NUM ROWS function getNumRows() { return mysql_num_rows($this->result); }
//GET AFFECTED ROWS function getAffectedRows() { return mysql_affected_rows($this->result); }
// INSERT, UPDATE, DELETE 등의 쿼리문 실행. (결과 없음) function Open($query) { $this->ERR_MSG = “”;
/**************************************** //DEFINE NEW QUERY_STRING 페이지 링크 정의를 위한 URL파싱 ***************************************/ parse_str($_SERVER[QUERY_STRING],$QUERY_STRING); unset($QUERY_STRING[page]); foreach($QUERY_STRING as $key=>$value) { if(!$temp){ $temp=”$key=$value”; }else{ $temp.=”&$key=$value”; } } $QUERY_STRING=$temp;
/******************************************** DO UPDATE METHOD 업데이트 *******************************************/ function doUpdate($table,$array,$key_name,$key_value) { ##GET TABLE STRUCTURE $query=”SHOW COLUMNS FROM $table”; $result=mysql_query($query,$this->CONN); $i=0; while($row=mysql_fetch_array($result) ) { if(isset($array[$row[Field]]) ) { $set[$i]=$row[Field].”='”.$array[$row[Field]].”‘”; $i++; } } $set=implode(“,”,$set);
##EXECUTE QUERY STATEMENT $query=”UPDATE $table SET $set WHERE $key_name=’$key_value'”; $this->doQuery($query); return true; }
/******************************************** 테이블 리스트 반환 *******************************************/ function GetTableList(){ if($this->result=mysql_list_tables($DB_NAME,$this->CONN)){ $i=0; while($i < mysql_num_rows($this->result)){ $tb_names[$i]=mysql_tablename($this->result,$i); $i++; } return($tb_names); }else return $this->errorMessage(“Unable to find any tables in database: $DB_NAME”); }
/******************************************** 필드명 반환 *******************************************/ function GetFieldList($tbl_name){ if($this->result=mysql_list_fields($DB_NAME,$tbl_name,$this->CONN)){ $i=0; while($i < mysql_num_fields($this->result)){ $fd_names[$i]=mysql_field_name($this->result,$i); $i++; } return($fd_names); }else return $this->errorMessage(“Unable to find any field list in table: $tbl_name”); }
/******************************************** returns XML-formatted record rows from query results. $this->data holds the XML only, and the function returns the XML header + the data example: header(“Content-type: text/xml”); echo $sql->XML_Output(“SELECT * FROM yourTable”); ********************************************/ function XML_DataOutput($query, $tags = array(‘dataset’,’record’)) { if($this->result=mysql_query($query,$this->CONN)) { $this->fields=mysql_num_fields($this->result); $xmlheader='<?xml version=”1.0″ ?>’.””; $this->data.='<‘.$tags[0].’>’.””; while($this->rows = mysql_fetch_array($this->result)) { $this->data.= “‘”>\\t\\t”.'<‘.$tag.’>’. preg_replace(“/([\\r])/”, ”, strip_tags($this->rows[$i])). ‘</’.$tag.’>’.””; } $this->data.= “에 배치하는 팁앤텍태그 DB connect, mysql class, 리스트, 페이징