-
-
//데이터베이스 연산 클래스 - class db
- {
- //SQL 실행 이후의 데이터는 변수에 저장됩니다;
- var $db;
- //현재 데이터의 위치를 읽거나 설정합니다.
- var $position=0;
- //SQL 문을 실행하고 저장합니다. 결과를 db 변수로 中;
function sub_sql($str)
- {
- 전역 $prefix;//전역 함수, 테이블 접두사
- return str_replace(" #@__", $prefix,$str);
- }
- function Sql($str)
- {
- $str=$this->sub_sql($str);
- $ 결과 = mysql_query($ str);
- $i=0;
- while($row = mysql_fetch_array($result))
- {
- $str_array[$i]=$row;
- $i ;
- }
- if(empty($str_array))
- {
- $str_array=array();
- }
- $this->db=$str_array;
- }
- //데이터를 읽고 데이터를 한 비트 뒤로 이동합니다. 데이터가 비어 있으면 null을 반환합니다.
- function Get_One()
- {
- $re=empty($ this->db [$this->position])?null:$this->db[$this->position];
- $this->position=$re?$this-> position 1:$this ->position;
- return $re;
- }
- //데이터를 끝까지 읽었는지 판단
- function Judge()
- {
- $re=empty($this ->db[$this->position])?true:false;
- return $re;
- }
- //db에서 숫자 가져오기
- 함수 Get_Num()
- {
- return count($this->db);
- }
- //데이터베이스의 데이터를 업데이트합니다. $t는 테이블 이름, $v 형식은 배열입니다. 형식에서 위 첨자는 필드 이름이고 아래쪽은 데이터로 표시됩니다. $w는 조건, 위 첨자는 필드 이름, 아래 첨자는 데이터, $p는 조건, 0은 등호, 1은 더 큽니다. 보다, -1은 보다 작습니다.
- function Set_Updata($t,$v,$w ,$p=0)
- {
- $this->Sql($t);
- $ v_str="";
- $w_str="";
- $f="" ;
- foreach($v as $key=>$vaule)
- {
- if(!is_numeric ($key))
- {
- if(empty($v_str))
- {
- $v_str=htmlspecialchars($key)."='".htmlspecialchars($vaule)."'" ;
- }else
- {
- $v_str=$v_str."," .htmlspecialchars($key)."='".htmlspecialchars($vaule)."'";
- }
- }
- }
- 스위치($p)
- {
- 사례 0:
- $f="=";
- break;
- 사례 1:
- $f =">";
- break;
- case -1:
- $ f="<";
- break;
- }
- if(!empty($f))
- {
- foreach($w as $key=>$vaule)
- {
- if(!is_numeric($key))
- {
- if(empty($v_str) )
- {
- $w_str=htmlspecialchars($key).$f.htmlspecialchars( $vaule)."'";
- }else
- {
- $w_str=$w_str.", ".htmlspecialchars($key).$f.htmlspecialchars($vaule)."'";
- }
- }
- }
- }
- $sql="UPDATE ".$t. " SET ".$v_str." where ".$w_str;
- return $result = mysql_query ($sql);
- }
- //데이터 삭제 $w는 조건, 위첨자는 필드 이름, 아래 첨자는 데이터, $p는 조건, 0은 등호, 1은 보다 큼, -1은 보다 작음;
- function Set_Del($t,$w,$p=0)
- {
- $this->sub_sql($t);
- $w_str="";
- $f=" ";
- 스위치($p)
- {
- 사례 0:
- $f="=";
- 중단;
- 사례 1:
- $f="> ";
- 중단;
- 사례 -1:
- $f="<";
- break;
- }
- if(!empty($f))
- {
- foreach($w as $key=>$vaule)
- {
- if(!is_numeric($key))
- {
- if(empty($v_str))
- {
- $w_str=htmlspecialchars($key).$f. htmlspecialchars($vaule)."'";
- }else
- {
- $w_str=$w_str.",".htmlspecialchars( $key).$f.htmlspecialchars($vaule)."'" ;
- }
- }
- }
- }
- $str="DELETE FROM ".$t." WHERE " .$w_str;
- return $result = mysql_query($str) ;
- }
- 함수 추가($t,$v)
- {
- $this->sub_sql($t);
- $k_str="";
- $v_str="";
- foreach($v as $key=>$vaule)
- {
- if(!is_numeric($key)){
- if(empty($k_str))
- {
- $ k_str=htmlspecialchars($key);
- $v_str="'".htmlspecialchars($vaule)."'";
- }else
- {
- $k_str=$k_str.",". htmlspecialchars($key);
- $v_str=$v_str.","."'".htmlspecialchars($vaule)."'";
- }
- }
- }
- $str ="INSERT INTO ".$t."(".$k_str.")"."value(".$v_str.")";
- return $result = mysql_query($str);
- }
- }
- ?>
-
复主代码
|