블로그 이미지
hengki
우쭈쭈우쭈쭈

calendar

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

'2009/04'에 해당되는 글 6

  1. 2009/04/15 PHP mysql 접근 클래스
  2. 2009/04/10 원양이 만들어준 Hengki 브러쉬!!(1)
  3. 2009/04/09 大청소기념으로 찍은 내방.(6)
  4. 2009/04/01 PHP RSS 리더
  5. 2009/04/01 PHP XML 파서(1)
2009/04/15 13:22 Hengki's Program/PHP

  PHP+MySql 은 많은 사용자들에게 사랑 받고 있다. 가장 큰이유는 무료 라는 것과, 알려진 소스도 많다는 것도 있을수 있다.(무료라서 알려진소스가 많을수도) 또한 일반 사용자도 쉽게 서버를 구축할수 있는 이유도 있다. 홈페이지 관련 아르바이트를 하다보면 "Apmsetup" 이라는 프로그램에 "제로보드 4.x" 가 설치되어 운영되어 지는 것을 많이 볼수도 있다.(심지어 대량의 트레픽을 요구하는 곳에서도...) 그만큼 php와 mysql은 대중적으로 사용되어 지고있다.  

  머 여기 까진 주저리 였고 php에서 mysql을 접근하는 클래스를 구성해 보았다. php 하면서 항상 사용되는 소스이다보니 php로 뭘한다 싶으면, 먼저 이 파일부터 옮겨놓고 프로그래밍을 시작할 정도로 유용하게 사용하고있다. 

  따로 메뉴얼은 만들지 않겠다. php를 좀(?) 했다면 척보면 알정도의 소스이기 때문이다.(결코 귀찬아서 그런건 아니다) 대략 설명하자면 생성자 부분에서 db설정을 넣어주고 사용하면된다.


<?php

class dbControl{

 // -------------------------------------------------------------------
 // 생성자
 // -------------------------------------------------------------------
 function __construct(){

  // db서버 주소
  $hostname = "";
  // 사용자 id
  $username = "";
  // 사용자 패스워드
  $password = "";
  // 사용 db
  $dbname = "";

  $connect = mysql_connect($hostname, $username, $password) or die("SQL 서버에 접속할 수 없습니다.");
  $result = @mysql_select_db($dbname,$connect) or die("데이터베이스를 선택할 수 없습니다.");
 }

 // -------------------------------------------------------------------
 // 테이블 생성
 // -------------------------------------------------------------------
 function db_create($Tname,$Attribute){
  $sql="create table ".$Tname."(".$Attribute.");";
  $result = mysql_query($sql);
  if(!$result) echo "테이블생성 실패";
 }
                   
 // -------------------------------------------------------------------
 // 데이터 삽입
 // -------------------------------------------------------------------
 function db_insert($Tname, $data){
  $sql="insert into ".$Tname." VALUES (".$data.");";
  $result = mysql_query($sql);
  if(!$result) echo "데이터입력 실패";
 }

 // -------------------------------------------------------------------
 // 데이터 삭제
 // -------------------------------------------------------------------
 function db_delete($Tname, $where){
  $sql="delete from ".$Tname." WHERE ".$where.";";
  $result = mysql_query($sql);
  if(!$result) echo "데이터삭제 실패";
 }

 // -------------------------------------------------------------------
 // 데이터 수정
 // -------------------------------------------------------------------
 function db_modify($Tname, $set, $where){
  $sql="update ".$Tname." SET ".$set." WHERE ".$where;
  $result = mysql_query($sql);
  if(!$result) echo "데이터수정 실패";
 }


 // -------------------------------------------------------------------
 // 데이터 출력
 // -------------------------------------------------------------------
 function db_print($Tname){
  $sql="select * from ".$Tname.";";
  $result=mysql_query($sql);

  if($result){
   while($row = mysql_fetch_array($result)) $total[]=$row;
   return $total;
  }else echo "데이터출력 실패";
 }

 // -------------------------------------------------------------------
 // 쿼리 입력
 // -------------------------------------------------------------------
 function db_query($sql){
  $result = mysql_query($sql);
  if($result){
   $row = mysql_fetch_array($result);
   return $row;  
  }else{
   echo "쿼리 실패";
  }
 }
}

?>


※ 사용 예시

 <?
 include "dbControl.php";    // basic_db lib

 $db = new dbcontrol;     // db객체생성

 $row = $db->db_print("table_name");  // table_name의 데이터를 가져옴

 foreach($row as $data){
  echo $data[속성1];     // 속성1의 값을 출력
  echo $data[속성2];     // 속성2의 값을 출력
 }
?>


저작자 표시
posted by hengki
2009/04/10 13:30 Hengki's Story

 원양어선이 아니고 원씨 성을 가진 xx염색체(확인불가) 즉 원양의 블로그에 놀러갔는데 이상한 포토샵 브러쉬를 만들어 포스팅 해논것이다. 평소에 "길가다 만나면 인사하는 사이" 정도로 아주 각별한 사이인 나는 염치 불구하고 내껏도 만들어 달라고 때를 썼다.

원양의 브러쉬

 맘씨 착한 원양은(결코 브러쉬 만들어줘서 그런거 아님)  흔퀘히 답해줬고 hengki 블러쉬를 만들어 주었다. 걍 재미로 만들어 달라 한건데 정말 만들어 주다니. 복받을 것야 후훗. 만약 자신만의 브러쉬를 만들고 싶다면 한번 찾아가 보시길. 항상 놀아보이니 잘하면 만들어 줄지도 모르겠다.

원양블로그:http://blog.naver.com/wjh1134 

안해줘도 난 모른다 -_-);




Hengki 브러쉬

 그럼 hengki 브러쉬를 공개하겠다. 나의 평소 이미지인 "차가운 도시남자" 의 느낌은 없지만 "언제나 내여자에게 따뜻함" 의 모습은 보인달까? 머 전체적으로는 만족 스럽다. 

 한번 다운 받아 써보고 싶은 충동이 생기지 않는가? 과감하게 공개 하도록 하겠다. 후훗









 브러쉬를 선물 받았으니 응용해 보는것이 인지상정.

Hengki style




훗 어떤가 =_=) 사진찍으면 인장으로 써야겠다는 생각이든다.

posted by hengki
2009/04/09 11:05 Hengki's Story


 확실히 난 깔끔한 성격은 아니다. 그런데 방청소 만큼은 깨끗하게 하고 산다고 자신한다!! (지금 내자랑 하는거지?) 처음엔 다들 방이 깨끗한줄 알았지만.. 그렇지 않다는걸 알아버린후. (※ hso 이니셜을 쓰는 집) 아 내방은 깨끗하구나 라는걸 느꼈다. 머 뭐든 상대적이니까. 적어도 hso 이놈 방보단 깨끗하다. 

 저쉑 남자 자식이 웃기네! 이럴 수도 있겠지만. 사실은 방 청소를 열심히 하는 이유가 있다. 바로!! 먼지 알러지 -_-); 나도 얼마전에 안 사실이다.(한 둬달 됐다;) 아 내가 먼지 알러지가 있구나. 먼지가 많으면 재체기가 나오는게 사실이지만, 남들보다 심한가 보다. 정작 나도 몰랐는데 몸이 벌써 청소를 하고 있었던 것이다!! (인체는 신비로워 후훗)

☆ 하지만 결코 결백증 결벽증은 아니라는 -_-); 적당히 더럽기도 하다 ㅋㅋ

posted by hengki
2009/04/01 13:50 Hengki's Program/PHP

PHP로 구현된 간단한 RSS리더 입니다.
lastRSS라는 사이트에서 GNU 라이센스로 배포하고 있습니다. (망했나보네요.. 사이트가 closed..)
사용법은 제가 나름 사용해봤본 소스입니다.

다운로드




1. 사용법
<?php
include "./lastRSS.php";
// -------------------------------------------------------------------
// 출력할 라인수를 결정합니다.
$line = 50;
// -------------------------------------------------------------------
// 설정 URL을 지정합니다.
$rssurl = "";
// -------------------------------------------------------------------
// rss설정
$rss = new lastRSS;
$rss->cache_dir = './cache/';   //케쉬를만들 폴더설정
$rss->cache_time = 0;     //케쉬생성주기
$rss->cp = 'UTF-8';      //인코딩
$rss->date_format = 'y-m-d';   //날짜형식 년월일
   
if ($rs = $rss->get($rssurl)) {
  $i=0;
  foreach($rs['items'] as $item) {
// -------------------------------------------------------------------
// 인코딩및 cdta 태그를 지우는 부분입니다.
   $item[link]=str_replace("<![CDATA[", "",$item[link]);
   $item[link]=str_replace("]]>", "",$item[link]);
   $item[link]=iconv('UTF-8', 'EUC-KR', $item[link]);
   $item[title]=str_replace("<![CDATA[", "",$item[title]);
   $item[title]=str_replace("]]>", "",$item[title]);
   $item[title]=iconv('UTF-8', 'EUC-KR', $item[title]);
   $item[description]=str_replace("<![CDATA[", "",$item[description]);
   $item[description]=str_replace("]]>", "",$item[description]);
   $item[description]=iconv('UTF-8', 'EUC-KR', $item[description]);
   $item[author]=iconv('UTF-8', 'EUC-KR', $item[author]);
   $item[category]=iconv('UTF-8', 'EUC-KR', $item[category]);
// -------------------------------------------------------------------
// 출력 HTML 부분
   ?>
    제목 :  <?=$item['title']?>   <br/>
    링크 :  <?=$item[link]?>   <br/>
    내용 :  <?=$item[description]?>  <br/>
    작성자 : <?=$item[author]?>   <br/>
    작성일 : <?=$item[pubDate]?>   <br/>
    <br/><br/>
   <?
// -------------------------------------------------------------------
// 라인수결정
   if($i++ > $line-2) break;
  } 
}
// -------------------------------------------------------------------
// RSS경로가 잘못되거나 열수 없을때
else {?>
경로를 찾을수 없거나, 서버를 찾을수 없습니다.
<?
}
?>
posted by hengki
2009/04/01 13:40 Hengki's Program/PHP
php5에서는 xml lib를 제공하지만 4.x는 제공하지 않는걸로 알고있습니다.
결국 xml파서를 만들어 사용해야는데요.
고맙게도criticaldevelopment.net 에서 GNU라이센스를 사용하여 배포하고있습니다.

참고문서 : http://www.criticaldevelopment.net/xml/doc.php
파일다운 : 



1. 속성
tagData : 태그값
tagAttrs : 태그 속성값
tagParents : This member contains the number of parents this object has before the document root. This number, currently, is only used to determine how many tabs are required to nicely format the XML output.
tagChildren : This member is an array of references to all of the direct child tags of the given object, in order of occurance in the XML document. It is simply an alternative to accessing the children tags by their names, and is used when names are arbitrary or unknown.
tagName : This member contains the name of the current tag. Again, it is only used internally for the proper output of the XML document.

2. 예제 xml

<?xml version='1.0' encoding='utf-8'?>
<Widget>
<WidgetPrefs>
<title>제목</title>
  <directory_title>디렉토리제목</directory_title>
 </WidgetPrefs>
 <Content src="index.html"></Content>
</Widget>

3.사용법

<?php
//기본적으로 들어가는 부분
include "parser_php4.php";                       // 클래스 파일 include
$xml = file_get_contents("./ex.xml");         // 파싱할 대상XML 가져오기
$parser = new XMLParser($xml);             // 객체생성 parser라는 객체를 생성함
$parser->Parse();                                  // Parse()메소를 호출하여 xml을 dom 방식으로 파싱함

//파싱된 xml결과값을 사용하는 방법
echo $parser->document->widgetprefs[0]->title[0]->tagData;
 // 타이틀 데이터를 가져올때 (하나의 데이터를 지정해서 가져올 경우)
// "위젯 제목을 제공하는~~" 출력됨
echo $parser->document->content[0]->tagAttrs['src'];
 // 속성값 가져오기
 // "index.html"이 출력됨 
echo $parser->GenerateXML();              
// 위 ex.xml과 똑같은 xml 문서가 출력됨
?>

posted by hengki
prev 1 2 next