ADODB Acvite Record 1. 소개 ADODB_Active_Record 는 기본적으로 잰드 프래임워크의 구현을 따르며, PHP에서 객체관계매핑(ORM)을 구현하여 개발자로 하여금 DB데이터 조작을 적은 조작으로 가능하게 하여 개발에 더욱 집중할 수 있습니다. 2. 데이터베이스 연결설정 require_once('adodb/adodb-active-record.inc.php'); $dbconn = &ADONewConnection('oci8po'); $dbconn->Connect('localhost','dbuser','dbpass','dbsid'); ADOdb_Active_Record::SetDatabaseAdepter($dbconn); 3. 테이블 클래스 생성 class person extends ADOdb_Active_Record{ } $person = new person(); var_dump($person->getAttributeNames()); // 테이블 컬럼 가져오기 4. 레코드 삽입 및 업데이트 $person = new person(); $person->name = '홍길동'; $person->hp_num = '010-1111-2222'; $person->save(); 5. 레코드 가져오기 $person = new person(); // load a single record $person->load('id=aaa'); // use preparstatment $arr = array('aaa'); $person->load('id=?',$arr); // array of active record $arrData = array('김%'); $peopleArray = $person->Find("name like ? order by idx", $arrData);
Unknown remote channel: pear.phpunit.de WARNING: "pear/PEAR_PackageFileManager" is deprecated in favor of "pear/PEAR_PackageFileManager2" Unknown remote channel: pear.pdepend.org Unknown remote channel: pear.phpmd.org Unknown remote channel: pear.phpunit.de Unknown remote channel: pear.docblox-project.org Did not download optional dependencies: phing/phingdocs, pear/VersionControl_SVN, pear/VersionControl_Git, channel://pea r.phpunit.de/PHPUnit, pear/PhpDocumentor, pecl/Xdebug, pear/PEAR_PackageFileManager, pear/Services_Amazon_S3, pear/HTTP_ Request2, channel://pear.pdepend.org/PHP_Depend, channel://pear.phpmd.org/PHP_PMD, channel://pear.phpunit.de/phpcpd, cha nnel://pear.docblox-project.org/DocBlox, pear/PHP_CodeSniffer, use --alldeps to download automatically phing/phing can optionally use package "phing/phingdocs" (version >= 2.4.6) phing/phing can optionally use package "pear/VersionControl_SVN" (version >= 0.3.4) phing/phing can optionally use package "pear/VersionControl_Git" (version >= 0.4.3) phing/phing can optionally use package "channel://pear.phpunit.de/PHPUnit" (version >= 3.4.0) phing/phing can optionally use package "pear/PhpDocumentor" (version >= 1.4.0) phing/phing can optionally use package "pecl/Xdebug" (version >= 2.0.5) phing/phing can optionally use package "pear/PEAR_PackageFileManager" (version >= 1.5.2) phing/phing can optionally use package "pear/Services_Amazon_S3" (version >= 0.3.1) phing/phing can optionally use package "pear/HTTP_Request2" (version >= 0.5.2) phing/phing can optionally use package "channel://pear.pdepend.org/PHP_Depend" (version >= 0.10.0) phing/phing can optionally use package "channel://pear.phpmd.org/PHP_PMD" (version >= 1.1.0) phing/phing can optionally use package "channel://pear.phpunit.de/phpcpd" (version >= 1.3.2) phing/phing can optionally use package "channel://pear.docblox-project.org/DocBlox" (version >= 0.11.0) phing/phing can optionally use package "pear/PHP_CodeSniffer" (version >= 1.3.0) downloading phing-2.4.6.tgz ... Starting to download phing-2.4.6.tgz (406,970 bytes) ..................................................................................done: 406,970 bytes install ok: channel://pear.phing.info/phing-2.4.6
pear channel-discover pear.propelorm.org pear clear-cache pear install -a propel/propel_generator
WARNING: "pear.propelorm.org/propel_generator" is deprecated in favor of "channel:///" pear.propelorm.org/propel_generator requires PHP extension "pdo" pear.propelorm.org/propel_generator requires PHP extension "xsl" No valid packages found install failed
---------------------------------------------------------------------------------------------- Error 슈팅 : php커멘트 실행시 php.ini파일의 내용을 가져오지 못해서 생긴문제로 C:\windows에 php.ini 파일을 복사해서 넣으면 해결됨
64비트 리눅스 php Make 중 /usr/bin/ld: cannot find -lltdl 오류가 날경우
pi_krb5 -lkrb5 -lk5crypto -lcom_err -lidn -lssl -lcrypto -lz -lcrypt -lcrypt -o libphp4.la /usr/bin/ld: cannot find -lltdl collect2: ld returned 1 exit status make: *** [libphp4.la] 오류 1 이 발생할 경우 php에서는 라이브러리를 /usr/lib에서 찾는데 64bit 리눅스에서는 /usr/lib64에 들어 있어서 생기는 문제이므로 아래와 같이 관련 파일을 링크를 걸어 주면 정상적인 해결이 가능
// PHP 4.1.0 부터 지원됨 // php.ini 의 register_globals=off 일 경우 @extract($_GET); //HTTP GET 변수 @extract($_POST); //HTTP POST 변수 @extract($_COOKIE); //HTTP 쿠키 @extract($_SESSION); //세션 변수 @extract($_SERVER); //서버 변수 @extract($_ENV); //환경 변수
// register_globals=off 일 경우, HTTP File 업로드 변수 foreach($_FILES as $key => $value) { $GLOBALS[$key] = $_FILES[$key][\'tmp_name\'];
This program makes use of the Zend Scripting Language Engine: Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies with Zend Extension Manager v1.0.11, Copyright (c) 2003-2006, by Zend Technologies with Zend Optimizer v3.2.2, Copyright (c) 1998-2006, by Zend Technologies
Tip. PHP Configure 시에 enable-versioning 옵션이 있을경우, 쉘상에는 설치가 되나 웹상에서 설치가 안될수 있습니다.
#본 소스는 단지 학습용 소스 일뿐 일부의 핵심적부분만 구현되어 있으니.. 나머지잡다한 부분은 알아서들 잘 하실거라 믿습니다. (DB커넥션부분은 생략하였습니다.)
아래에 있는 소스는 첨부파일에 있으니 참고 하시기 바람니다. ############################################################ ### 사이트 이벤트 베너 제어하기 ### 작성자 : 최문기 ############################################################
## DB 테이블 CREATETABLE`popup_tbl`( `number` int(10)UNSIGNEDNOTNULLAUTO_INCREMENT, `popup_subject` varchar(100)NOTNULLDEFAULT'', `popup_contents` text NOTNULL, `popup_start_date` date NOTNULLDEFAULT'0000-00-00', `popup_end_date` date NOTNULLDEFAULT'0000-00-00', `popup_width` varchar(10)NOTNULLDEFAULT'', `popup_height` varchar(10)NOTNULLDEFAULT'', `popup_top` varchar(10)NOTNULLDEFAULT'', `popup_left` varchar(10)NOTNULLDEFAULT'', PRIMARYKEY(`number`), KEY`popup_start_date`(`popup_start_date`) ) TYPE=MyISAM;
INSERTINTO`popup_tbl`VALUES('', '1번 팝업테스트', '시험중입니다. 2번 팝업 입니다. 수정', '2005-11-11', '2005-11-13', '400', '450', '30', '30'); #위와 같이 DB에 테이블을 생성하고 데이터를 인서트를 하여줌니다.
[main.php] <html> <head> <title>이벤트 팝업창 제어</title> <script language="javascript"> <?PHP //popup_tbl 에서 데이터를 2건 가지고 오는데, 정렬방식을 팝업 시작일자를 DESC정렬로 가지고 // 옴으로서 최근 시작날자의 데이터를 가지고 나옴니다. $popup_sql = "select * From popup_tbl order by number DESC, popup_start_date DESC limit 2"; $popup_result=mysql_query($popup_sql) or die(mysql_error());
// number값으로 DB에서 데이터를 가지고 옴니다. $popup_sql = "select * From popup_config where number = $number"; $popup_result=mysql_query($popup_sql) or die(mysql_error()); $popup_data=mysql_fetch_array($popup_result);
## 이번 예제는 시간대별로 다른 메세지를 출력하여 주는 것입니다... ## 자바스크립트로도 간단하게 만들어볼수 있지만.. 오늘은 PHP를 이용해서 ## 한번 만들어 보도록 하겠습니다. ## 여러가지로 응용이 가능하니 많이 응용하여 보세요 ^^* ## 현재 시간을 구함니다.
$nHour = date("H"); //시간을 24시간 단위로 불러 옮니다... 이유는 천천히~ $night_start_time = "18"; $night_end_time = "06";
if($nHour < $night_start_time && $nHour > $night_end_time) { $msg = "낮 입니다."; //만약 현재시간이 종료시간 보다 크거나 시작시간 보다 작으면 낮 }else{ $msg = "밤 입니다."; //만약 현재시간이 종료시간 보다 작거나 시작시간 보다 크면 밤 }</P>
<P>echo ($msg);
(참고) 논리 연산자 대부분 프로그래머분들이 아시겠지만.. 제가 다시한번 정리를 하여 드리겠습니다.
AND 연산자 : AND연산자는 A 와 B를 동시에 만족하는 조건일때 thru를 리턴하며, php4에서는 && 가 and 보다 우선합니다.
OR 연산자 : OR연산자는 A 와 B 중 어느 하나라도 만족하는 조건이 있으면 thru를 리턴하며, php4에서는 || 가 or 보다 우선 합니다.
NOT 연산자 : NOT 연산자는 A 를 만족하지 안으면 thru를 리턴 php4에서는 !를 사용 합니다.
댓글을 달아 주세요
댓글 RSS 주소 : http://letmelove.net/blog/rss/comment/106대단히 감사합니다! 아주 좋은 문서를 참조하십시오. 공유 감사합니다.