아래 그림처럼 현재 년도의 현재 월의 달력에 현재일만

다른 색으로 표시되는 간단한 달력을 만들어보자.

 

 

 

달력 소스가 입력되어 있는 calendar.php 파일을

달력을 넣고 싶은 페이지에서 아이프레임을 사용하여 삽입하면 된다.

 

 

 

아래는 달력 소스인 calendar.php 파일이다.

 

 

calendar.php 

 

 

 

 

아래는 달력이 들어가는 페이지에서의 소스다.

iframe 부분에 calendar.php를 연결하면 위와 같은 달력이 표시된다.

 

<table cellpadding="0" cellspacing="0" border=0 align=center width="250" height=210>
<tr><td style="padding:10px;border-width:3px; border-color:#7abae4; border-style:double; background-color:e6f2f8">
<table cellpadding="0" cellspacing="0" border=0 align=center width="100%"><tr><td>

 

<iframe src="calendar.php" frameborder=0 scrolling=no width=100% height=180 name=main></iframe>

 

</td></tr></table>
</td></tr></table>

 

 

 

 

 
 
 
 

 

 

Posted by Y&S

 

 

 

나야나에 있던 사이트가 접속횟수 부족으로 차단된 후 내 컴퓨터를 APM 서버로 구축하여 DB 오류를 모두 수정한게 일주일 전쯤이다. 아래는 이때 쓴 글이다.

APM 서버 구축하기 (APMSETUP7 다운로드) by Y

 

어짜피 나야나에서는 더 이상 무료호스팅의 신규 신청을 받지 않는다고 한다. 그래서 새로운 무료 호스팅 업체로는 전부터 잘 사용해왔던 '미리내'로 결정했다.

지금부터 1. 미리내의 무료호스팅을 신청하고 2. 알드라이브를 이용하여 계정에 파일을 업로드한 후에 3. DB까지 구축하여 사이트를 이전하는 과정을 설명해보겠다.

 

 

 

미리내는 내가 알기로 꽤 오래전부터 무료 호스팅을 서비스해왔던 업체다. 예전에는 매달 연장신청해야 계속해서 유지가 됐었는데, 이제 2개월로 늘어나 2개월마다 연장신청하면 될 듯하다. 연장신청은 메일로 오므로 잘 사용하지 않는 메일 주소보다는 잘 사용하는 메일 주소를 적는것이 좋다.

 

미리내 무료호스팅 서비스 내역

 

서비스 환경 - Apache + PHP + MySQL

HDD(계정용량) - 50 MB
MySQL(DB용량) - 20 MB (MySQL 4.0 / 4.1)
Traffic(트래픽) - 기본 일일 100MB, 별머니를 이용하여 총 400MB를 사용 가능

무료 도메인(domain) 제공 - Http://계정ID.mireene.com

 

미리내 부가 기능

 

DB관리기 (php admin) Http://계정ID.mireene.com/mysql
웹FTP (파일 다운/업) Http://계정ID.mireene.com/webftp
My Disk (HDD용량 체크) Http://계정ID.mireene.com/my-disk

 

 

 

미리내 무료호스팅 신청하기

 

 

 

미리내에서 무료호스팅을 신청하는 건 매우 쉽고, 시간도 오래 걸리지 않는다.

 

1. 미리내(http://www.mireene.com/) 홈페이지에 접속하고 회원 가입을 한다.

2. 미리내 첫 페이지 오른쪽 상단의 [무료 호스팅 신청]을 클릭한다.

3. 계정 정보 입력 페이지에서 DB 암호 등을 입력한다.

4. 정보 입력 후 신청하면 인증메일을 바로 받아볼 수 있는데 메일 내용에서 [인증하기] 버튼을 클릭한다.

5. 미리내는 신청 후 정해진 세팅 시간에 일괄적으로 세팅이 이루어진다.

("주중 평일 13:00 ~ 14:00 / 18:00 ~ 19:00")

그러므로 두 번의 세팅 시간 전에 서비스를 신청하면 세팅 시간에 바로 세팅이 완료되었다는 메일을 받아볼 수 있다. (나도 오전 11시에 신청하고, 오후 1시에 세팅 완료 메일을 받았다.)

 

 

 

미리내에 파일 업로드하기

 

 

미리내는 웹FTP 주소도 있지만 파일이나 폴더가 한번에 한개씩만 업로드되므로, 알드라이브를 추천한다.

 

 

알드라이브는 무료 프로그램이므로 이스트소프트사의 알툴바 페이지(http://www.altools.co.kr/main/Default.aspx)에서 다운받아 설치할 수 있다. 예전엔 파일 전송 프로그램 이름이 '알FTP'였는데 바뀐듯하다. 내 미리내 계정에 접속하기 위해 [접속하기]를 클릭한다.

 

 

 

[접속하기] 창이 나타나면 아래와 같이 계정 정보를 입력한다. 여기에서 아이디와 밀번호는 미리내 계정 즉, 미리내 로그인할 때 입력하는 아이디와 비밀번호이다. 서버 기본 경로는 안적어도 되지만 [html] 폴더 더블 클릭하기 귀찮아서 적었다. 미리내의 기본 폴더의 이름은 'html'이고, 모든 파일은 'html' 폴더 안에 업로드해야 한다.

 

 

 

이제 [업로드]를 클릭하면 내 컴퓨터에 있는 파일을 계정으로 업로드할 수 있다. 업로드할 때 모두 선택하여 한꺼번에 업로드할 수 있다. 기본 폴더인 'html' 폴더 안에 있는 'index.html'은 꼭 지워야 내 사이트의 첫 페이지를 확인할 수 있고, 지우지 않은 경우 미리내 기본 첫 페이지가 표시된다.

 

 

 

 

미리내에 DB 구축하기

 

 

미래내 DB 관리 주소인 'http://계정ID.mireene.com/mysql'로 접속해보면 DB 네임과 DB 암호를 입력하는 보안창이 나타난다. DB 네임과 DB 암호는 세팅 완료 메일을 보면 알 수 있다. DB 네임과 DB 암호를 제대로 입력했다면 DB 관리 프로그램으로 접속할 수 있다.

 

 

 

이제 익숙한 phpMyAdmin 프로그램을 볼 수 있다. 미리내에서 새로운 데이터베이스를 만들 권한은 없으니 이미 만들어져 있는 DB에 테이블을 만드는 수밖에 없다. 왼쪽에서 DB 이름을 클릭한다.

 

 

 

나는 미리 내 컴퓨터에 있는 DB를 내보내기 기능으로 백업한 상태여서 [Import] 탭을 클릭하여 바로 DB를 불러와 적용할 수 있었다.

 

 

 

여기서 잠깐~!!

 

모두 완료하고 내 주소인 http://armig.mireene.com로 접속해보니 'DB에 연결할 수 없다'는 메시지가 떴다. 뭐 여기까지는 예상했던 바이므로 DB 연결하는 php 파일을 열어 척척 작성하던 중에 미리내의 DB 호스트를 몰라 당황했지만, 의외로 'localhost'였다는;;; 에구 허무해라~~

 

다음은 미리내 DB 접속할 경우 DB 연결 코드이다.

 

<?
$connect=mysql_connect( "localhost", "DB아이디", "DB암호") or die( "DB에 연결할 수 없습니다.");
mysql_select_db("DB네임",$connect);
mysql_query("set names euckr", $connect);
?>

 

 

결국 사이트 이전 완료~!!

 

 

 

 

 
 
 
 

 

Posted by Y&S

 

 

 

 

 

오늘 방문자수와 전체 방문자수만 표시되는 간단한 PHP 코드이다.

아래의 코드는 사이트에서 실제로 사용되는 코드이고, 위의 그림은 내 사이트에서 방문자수 부분을 캡쳐한 그림이다. 하단에 소스 파일도 첨부했음~

 

 

 

counter 테이블 만들기

 

 

create table counter(
   num int not null auto_increment,
   date varchar(20) not null,
   count int not null default 0,
   primary key(num)
)

 

 

 

 

방문자수 구하기 소스

 

 

<?
include('../bbs_file/dbconn.php'); //이 경로는 본인의 홈페이지에서 DB 접속
파일의 경로이다.
$sum=0;
$todayc = date("Y-m-d"); // 현재의 '년-월-일-시-분'을 저장
$sql="select * from counter where date='$todayc'";
$result=mysql_query($sql, $connect);
$row=mysql_fetch_array($result);

if(!$row){
$sql0="insert into counter(date, count) values('$todayc', 1)";
mysql_query($sql0, $connect);
}else{
$sql1="update counter set count=count+1 where date='$todayc'";
mysql_query($sql1, $connect);
}

$sql="select * from counter where date='$todayc'";
$result=mysql_query($sql, $connect);
$row=mysql_fetch_array($result);
$count=$row[count];

$sqlt="select * from counter";
$resultt=mysql_query($sqlt, $connect);
while($rowt=mysql_fetch_array($resultt)){
$sum+=$rowt[count];
}
?>
오늘 방문 : <?=number_format($count)?><br>
전체 방문 : <?=number_format($sum)?> 

 

 

 

 

방문자수 구하기 소스 파일

 

 

counter.php

 

 

 

 

 

 
 
 
 

 

 

Posted by Y&S

 

 

 

APM은 아파치(Apache, 웹서버) 서버를 구축하여 PHP(웹프로그램 언어), MySQL(DB 관리) 프로그램을 사용할 수 있도록 내 컴퓨터를 서버로 만드는 프로그램이다.

설치 방법이 간단하고 관리도 용이하여 웹프로그래밍과 데이터베이스를 공부하고자 하는 많은 사람들이 필수적으로 설치하는 무료 프로그램이다.

나도 작년에 컴퓨터에 APM을 설치해서 홈페이지를 만들었었지만, 그 후로 컴퓨터를 포맷하는 바람에 서버가 날라가버렸다. 그래서 이번에 다시 설치하려고 하니 APMSETUP 프로그램을 개발하고 계속 업데이트하여 무료로 배포하던 근사모 사이트가 웬일인지 접속이 되지 않았다.

그래서 직접 설치 파일(APMSETUP7)을 다운받아 설치하는 방법을 써보려한다.

 

 

APMSETUP7 다운받기

 

 

참고로 이 설치파일은 'APMSETUP 7 for Win32'로 32비트용이지만 64비트에서도 무리없이 돌아간다.

1. 네이버 개발자 센터에서 다운로드한다.

http://dev.naver.com/projects/apmsetup/download/1877?filename=APMSETUP7_2010010300.exe 

2. 위의 링크도 언제 잘릴지 몰라 설치파일을 첨부했다.

티스토리 첨부파일 용량 한계가 10메가여서 어쩔수없이 분할압축을 했는데 다운받아 압축을 해제하면 될 듯~

 

APMSETUP7.vol1.eggAPMSETUP7.vol2.eggAPMSETUP7.vol3.egg

 

설치 과정은 [다음]만 열심히 누르면 되므로 생략한다.

 

 

APMSETUP으로 나만의 서버 구축

 

 

설치가 모두 완료되면 바탕 화면에 아래와 같은 아이콘이 생기고, 메모장 파일이 열린다.

메모장 파일에는 APM이 지원되는 윈도우 버전과 사용할 수 있는 프로그램 버전을 알려준다.

 

 

 

 

 

 

바탕 화면의 아이콘을 더블 클릭하면

아파치와 MySQL을 시작하거나 중지할 수 있는 모니터 창이 나타난다.

 

 

 

 

작업 표시줄의 알림 영역의 'APM' 아이콘에서

마우스 오른쪽 클릭을 하면 여러 가지 메뉴가 나타난다.

 데이터베이스에 접속할 수 있는 암호를 바꾸기 위해

[MYSQL root 패스워드 변경] 메뉴를 클릭한다.

 

 

 

 

 

[MySQL root 패스워드 변경] 창이 나타나면

초기 패스워드인 'apmsetup'을 현재 패스워드에 입력하고

변경할 패스워드를 두 번 입력한다.

 

 

 

 

 

변경 완료~

 

 

 

 

 

설치가 완료되면 내 홈페이지 주소와 DB 관리 프로그램인 phpmyadmin의 주소, 문서 기본 위치를 확인할 수 있다.

최소한 다음의 세 가지 경로는 알아야 사이트를 만들 수 있다.

 

아파치 서버 주소(내 홈페이지 주소)
http://127.0.0.1
http://localhost

 

phpmyadmin 주소(DB 관리 주소)

http://127.0.0.1/myadmin/
아이디 root
비밀번호 ==> 변경한 비밀번호

 

문서 기본 저장 위치 - C:/APM_Setup/htdocs/

 

나중에 홈페이지의 첫 파일을 index.php, index.html, index.htm 등의 이름으로 작성하여 'C:/APM_Setup/htdocs/' 경로의 기존에 있던 'index.php' 파일을 삭제하고 넣는다면 내가 작성한 메인이 나타난다.

 

 

 

설치 직후 홈페이지 첫 화면이다. (http://localhost)

 

 

 

 

 

phpmyadmin 화면이다.(http://127.0.0.1/myadmin/)

사용자명과 암호를 입력하고 [실행] 버튼을 클릭한다.

 

 

 

 

 

DB 관리 프로그램인 phpmyadmin 접속화면이다.

이제 새 데이터베이스를 만들고 여러 테이블을 만들어 DB를 구축할 수 있다.

 

 

 

동영상 강좌 보기

 

 

 

 

 

 
 
 
 

 

 

Posted by Y&S

 

 

 

홈페이지에서 간단하게 쓸 수 있는 팁을 모아보았다.

이 중에서 아이프레임의 세로 크기가 자동으로 조절되는 방법은 게시판 위주의 홈페이지에서 사용해봤었다.

게시판의 글 내용을 확인할 경우 아무리 글이 길어져도 모두 표시할 때 아주 유용하게 사용된다.

나머지 팁들은 사이트를 만든다면 자주 찾아서 쓰게 되는 팁들이다.

 

 

1. 폼에서 글자를 입력할 때 처음부터 한글이나 영문으로 지정하여 입력하도록 하는 방법

 

한글 우선 입력시
<input type="text" name="" size="" style="ime-mode:active" />

 

영어 우선 입력시
<input type="text" name="" size="" style="ime-mode:inactive" />

 

 

2. 한 페이지에 폼이 많은 경우 첫 번째 폼에 커서가 자동으로 위치하도록 하는 방법

 

function load_focus() {
 if (document.forms.length > 0) {
  if(document.forms[0].elements.length>0){
   document.forms[0].elements[0].focus();
   var field = document.forms[0];
 
   for (i = 0; i < field.length; i++) {
 
    if ((field.elements[i].type == "text") || (field.elements[i].type == "textarea") ) {
    document.forms[0].elements[i].focus();
    break;
          }
       } 
   }

 }
}

 

 

3. 아이프레임 내용의 길이에 따라 아이프레임의 세로 크기를 자동으로 지정하도록 하는 방법

 

<script>

function iframe_autoresize(arg) {
    arg.height = eval(arg.name+".document.body.scrollHeight");
}

</script>

 

<body>

<IFRAME src='불러올 문서명' onLoad="iframe_autoresize(this);" scrolling=no frameborder=0 marginwidth=0 marginheight=0 width='아이프레임 넓이' height='아이프레임 높이' name='아이프레임 이름'></IFRAME>
</body>

 

 

4. 마우스 드래그 및 오른쪽 버튼 클릭을 막는 방법


<body oncontextmenu="return false" onselectstart="return false" onkeydown="return false" ondragstart="return false">

 

 

5. 링크된 그림을 클릭했을 경우 나타나는 테두리 점선 없애는 방법

 

<a href = "링크될 주소" onfocus='this.blur()'><img src ="그림 경로" border="0"></a>

 

 

6. 팝업창이 항상 화면의 가운데 위치에 뜨게 하는 방법

 

<script type="text/javascript">
function popupLink(popHeight,popWidth){
var winHeight = document.body.clientHeight; // 현재창의 높이
var winWidth = document.body.clientWidth; // 현재창의 너비
var winX = window.screenLeft; // 현재창의 x좌표
var winY = window.screenTop; // 현재창의 y좌표

var popX = winX + (winWidth - popWidth)/2;
var popY = winY + (winHeight - popHeight)/2;
window.open("http://www.naver.kr","popup","width="+popWidth+"px,height="+popHeight+"px,top="+popY+",left="+popX);
}
</script>

 

<body>

<input type="button" value="팝업" onclick="popupLink(300,500)">

</body>

 

 

7. 페이지 자동으로 이동하는 방법

 

자바스크립트를 이용하는 방법 
<script language="javascript">

<!--
location.href="이동할 주소";
-->

</script>

 

Header 함수를 이용하는 방법 
<?
Header("Location:경로/파일명") ;
?> 


메타 태그를 이용하는 방법 -   <Head>와 </Head> 사이에 넣는다. 대기 시간을 0으로 하면 바로 이동한다.
<meta http-equiv="refresh" content="대기시간; url=http://이동할 주소">

 

 

8. 자바스크립트와 php 사이의 변수 전달

 

php 변수를 자바스크립트에서 참조하기
<script>
var hi="<?="hihi";?>";
</script>

 

자바스크립트 변수를 php에서 참조하기 - 없음

 

 

 

 

 
 
 
 

 

 

Posted by Y&S

 

 

 

PHP 공부할 때 'HEAD FIRST PHP & MYSQL' 책으로 공부했었는데 함수마다 알기 쉽게 설명과 예제가 있었기에

이해하고 넘어갔었음에도 그것과는 별개로 실제 사이트를 만들기 위해 코딩할 때는 기억이 안나는걸;;;

기억이 안난다는 건 '이런 용도의 함수가 있었는데'까지는 기억나는데 함수명이 정확히 기억이 안난다든지,

사용 방법이 기억이 안나는 걸 말한다. (단순히 머리가 나쁜 걸수도;;)

그때마다 책을 뒤질 수도 없고, 인터넷에서 찾는게 그나마 빠르지만 정확히 찾는 걸 모른다면 이것도 별반 도움이 안된다.

결국 많이 사용하는 건 정리해서 보기 좋게 어디에 저장하거나 붙이거나 하는 방법이 최고인듯..

PHP 함수 중에서 많이 사용되는 함수들를 모아봤다.

 

 

 

 

1. 문자열을 단어 기준으로 쪼개어 배열변수에 저장
$배열변수=explode('구분문자','쪼갤 문자열');

 

 

 

2. 배열의 요소를 하나의 문자열로 결합
$변수=implode('결합문자',$배열변수);

 

 

 

3. 문자열의 찾아 바꾸기
$변수=str_replace('교체할문자열', '대체문자열', '원본문자열');
원본 문자열에서 교체할 문자열을 찾아 대체 문자열로 모두 변경해준다.

 

 

 

4. 문자열의 일부 추출
substr('원본문자열', start, length);
start가 양수이면 앞에서부터 몇번째이고, 음수이면 뒤에서부터 몇번째가 됨, 0부터 시작 문자

 

 

 

5. mysql의 substring() 함수
select substring(컬럼명, 1, 100) from 테이블명;
데이터 추출 단계에서 원하는 글자수만 추출 가능, 1부터 시작 문자

 

 

 

6. 문자열이 정규식의 패턴과 일치하는지 검사
preg_match('정규표현식','문자열');
일치하면 1, 일치하지 않으면 0을 반환

 

 

 

7. 유효한 데이터 패턴을 하나의 패턴으로 표준화
$변수=preg_replace('패턴', '대체문자열', '원본문자열');
원본 문자열에서 패턴에 해당하는 문자열을 찾아 대체 문자열로 교체한다.

 

 

 

8. 문자열 안에서 문자열 찾기
strstr(문자열변수, 찾을 문자열);
문자열 변수에서 찾을 문자열이 있으면 해당 문자열을 포함한 이후 문자열을 리턴하고
일치하는 문자열이 없을 경우 false를 리턴한다.

 

 

 

9. 날짜 함수


$day의 하루 전 날짜
date("Y-m-d", strtotime($day."-1 day"));

$today = date('Y-m-d', time(0));
$yesterday = date('Y-m-d', mktime(0,0,0,date('m') , date('d')-1, date('Y')));
$tomorrow = date('Y-m-d', mktime(0,0,0,date('m') , date('d')+1, date('Y')));

 

날짜 만들기
$str = mktime(시간, 분, 초, 월, 일, 년);

 

만든 날짜 원하는 형식으로 표시하기
date(아래 인수, 날짜데이터)  예 date('l', $str);  //해당하는 날짜의 요일이 구해진다.
a : am, pm
A : AM,PM
d : 2자리 정수의 날짜 형태
D : 요일의 앞 3글자 (Fri, Thu, Tue ... )
F : 해당 달의 이름 형태 (March, December, ... )
h : 2자리 정수의 시간 (12시간 이내)
H : 2자리 정수의 시간(24시간)
i : 2자리 정수의 분
l : 해당 날의 요일 (Friday, Thursday ... )
m : 해당 달의 2자리 정수 형태
M : 해당하는 달의 이름 앞 3글자 (Jan, Dec, ... )
s : 정수형의 초
T : 해당하는 달에 날이 몇일까지 있는지 (28,29,30,31)
Y : 해당 년의 4자리 정수 형태 (2013)
y : 해당 년의 2자리 정수 형태 (01)
z : 해당 년 1월 1일부터 몇일째 날인지

 

예)
$date='2013-03-06 19:23:40'
$date = substr($data, 0, 10); //앞의 10글자(날짜 부분)만 따오고
$str = explode('-', $date); //'-' 기호로 분리시켜서 배열 변수에 저장한 후
$date = date('M d, Y (D)', mktime(0, 0, 0, $str[1], $str[2], $str[0])); //$str[0]는 년도, $str[1]는 월, $str[2]는 일
//date() 함수와 mktime() 함수를 이용해서 날짜를 원하는 형태로 만들어주게 된다.

 

 


10. textarea 폼의 엔터 적용 함수
nl2br(textarea 값)

 

 

 

 

 
 
 
 

 

 

Posted by Y&S

 

 

 

만약 회원제 사이트를 만든다면 회원가입 페이지를 만들어야하고, 주소 입력하는 양식에서 우편번호 검색을 이용해야 할것이다.

1. 우편번호 자료를 다운로드하고, 2. DB에 우편번호를 저장하기 위한 테이블을 만든 후, 3. 우편번호가 자동으로 테이블에 저장되도록 하는 방법에 대해 알아보자. 더불어 새로운 주소인 4. 도로명 주소에 대한 우편번호를 다운로드하는 방법도 알아보자.

 

 

 

1. 우편번호 다운로드

 

 

 

먼저 우편번호 데이터를 다운로드하기 위해서는 ZipFinder(http://www.zipfinder.co.kr/) 를 방문하여

[우편번호원본파일] 메뉴를 누르고 들어가면 다음과 같은 페이지가 열리는데 개발자의 요구에 맞게

Type0~Type4의 5가지 구조의 우편번호 텍스트 파일이 있다.

어떤 타입을 다운로드했는지에 따라 타입에 맞게 필드 개수와 필드 길이 등이 달라진다.

여기에서는 첫 번째 타입의 텍스트 파일을 다운로드했다.

 

 

zipfinder 우편번호 다운로드 페이지

 

 

 

다운로드한 텍스트 파일을 열어보면 빈 줄이 삽입되어 있다.

나는 이 빈 줄을 제거하기 위해 텍스트 파일을 엑셀로 가져온 다음, 다시 텍스트 파일로 저장하는 방법을 이용했다.

텍스트 파일을 엑셀로 가져오는 방법은 위의 페이지에 나와있는 대로 하면 되고, 저장할 때는 '텍스트(탭으로 분리)' 형식으로 저장하면 된다.

다음은 이런 과정을 거쳐 만든 엑셀 파일과, 텍스트 파일이다. 엑셀 파일은 필요한 사람만 다운받으면 될 듯하다.

 

 zipcode.txt              zipcode.xlsx

 

 

우편번호 텍스트 파일

 

 

 

2. 우편번호 테이블 만들기

 

위의 파일을 가지고 테이블을 만들 경우 쿼리이다.

 

CREATE TABLE ZIPCODE (
ZIPCODE VARCHAR(7),
SIDO VARCHAR(4),
GUGUN VARCHAR(17),
DONG VARCHAR(26),
RI VARCHAR(15),
BLDG VARCHAR(42),
BUNJI VARCHAR(17),
SEQ VARCHAR(5),
PRIMARY KEY (SEQ)
)

 

 

 

3. 우편번호를 테이블에 자동으로 저장하기

 

다음은 우편번호 파일을 테이블에 자동 입력하는 쿼리문이다.

 load data infile ' 경로\\텍스트파일.txt' into table 테이블이름;

 

예를 들어 c 드라이브에 zipcode.txt 파일이 있고, 테이블 이름이 zipcode라면 다음과 같이 쿼리를 작성하여 실행하면 된다.

load data infile 'c:\\zipcode.txt' into table zipcode;

 

쿼리를 실행한 후 테이블을 확인해보면 모든 데이터가 자동으로 입력되어 있는 것을 볼 수 있다.

 

 

 

4. 도로명 주소 다운로드

 

이런 방법으로 나도 작년 초에 회원 가입 양식에서 주소 입력 부분을 해결했었는데, 이제는 도로명 주소도 함께 사용되어서 우편번호 DB 구축이 좀 더 복잡해진 거 같다.

 

다음은 도로명 주소의 우편번호를 다운로드할 수 있는 곳이다.

http://www.epost.go.kr/search/zipcode/newAddressDown.jsp

 

다음 페이지가 열리면 유의사항을 클릭한 후 '도로명주소 변경분 DB(업데이트 일자 : 2013.01.25)' 부분의 압축 파일을 클릭하여 다운로드한다.

 

 

도로명 주소 다운로드 페이지

 

 

 

 

다운로드한 파일의 압축을 풀고 텍스트 파일을 확인해보면 탭이 아닌 '|' 구분자로 구분되어 있다.

 

우편번호|우편일련번호|시도|시군구|읍면|도로명코드|도로명|지하여부|건물번호본번|건물번호부번|다량배달처명|법정동코드|법정동명|지번본번|지번부번|시군구용건물명|건물관리번호|이동사유코드|연계일시

 

의 구조로 되어 있으니 위의 방법과 같이 테이블을 만들고, 데이터를 자동으로 입력하면 새로운 도로명 주소 DB도 쉽게 구축할 수 있을 듯하다.

 

 

도로명 주소 우편번호 텍스트 파일

 

 

 

 

 
 
 
 

 

 

Posted by Y&S

 

 

 

역시 php, mysql 공부시 기본 쿼리 구문과 함께 인쇄하여 벽에 붙이고 수시로 확인하던 데이터베이스 기본 구문이다. 워낙 많이 쓰는 기능이라 나중에는 외워서 사용하거나 복사해서 사용하긴 했지만, 그래도 살짝 생각이 안나거나 확신이 없을 때는 가끔씩 보곤 했었던 것 같다.

가장 기본적이고, 가장 많이 사용하는 DB 관련 구문들이다.

 

 

 

 

1. 데이터 베이스에 연결하고 한글 사용 가능하도록 함

$db=mysql_connect(db호스트, db유저, db비번, db명) or die('오류 메시지');

mysql_query($db, 'set names euckr');

 

 

 

2. 데이터베이스 쿼리 실행하기

$query="실행할 쿼리"

mysql_query($db, $query);

 

 

 

3. 추출한 데이터 배열에 저장하기

$query="실행할 쿼리"

$data=mysql_query($db, $query);

mysql_fetch_array($data);

 

 

 

4. 추출한 데이터 개수 구하기

$query="실행할 쿼리"

$data=mysql_query($db, $query);

mysql_num_rows($data);

 

 

 

5. 데이터베이스 연결 끊기

mysql_close($db);

 

 

 

 

 
 
 
 

 

 

Posted by Y&S

 

 

 

작년 초 mysql, php 공부를 하면서 홈페이지를 하나 만든 적이 있었다.

등급이 있는 회원제 사이트였는데 원래 공부를 목적으로 만든거라 나만 알고 있으니 지금은 죽은 사이트가 되버렸다는;;

하여튼 사이트 열심히 만드는 동안 쿼리문을 정리한 내용을 인쇄하여 모니터 뒤 벽에 붙여놓고 헷갈릴 때마다 참조했는데 너무나 편리했다.

가장 기본적인 쿼리문도 이제 막 공부를 시작하는 사람이라면 헷갈리는 경우가 많다.

나도 거의 한달간은 헷갈렸던 듯;;

 

 

 

 

1. 데이터 베이스 만들기

create database db명;

use db명;

 

 

 

2. 테이블 만들기

 

① 기본형

create table 테이블명(

컬럼1 데이터형,

컬럼2 데이터형,

.....

primary key(컬럼명)

)

 

② 확장형

create table 테이블명(

컬럼1 데이터형 not null auto_increment default 0 first,

컬럼2 데이터형,

.....

primary key(컬럼명)

)

 

 

 

3. 테이블에 데이터 삽입

insert into 테이블명 (컬럼1, 컬럼2, 컬럼3...) values (데이터1, 데이터2, 데이터3...);

 

 

 

4. 데이터 추출

select * from 테이블명 where 조건 order by 컬럼명 desc/asc;

조건1 -> 컬럼명 = 데이터

조건2 -> 컬럼명 != 데이터

조건3 -> 컬럼명 = 데이터 and 컬럼명 = 데이터

조건4 -> 컬럼명 = 데이터 or 컬럼명 = 데이터

 

 

 

5. 데이터 값 수정

update 테이블명 set 컬럼명='값' where 조건;

 

 

 

6. 데이터 수정

alter table 테이블명 add column 컬럼명 데이터형,...; -> 컬럼 삽입

alter table 테이블명 modify column 컬럼명 데이터형,...; -> 컬럼 수정

alter table 테이블명 drop column 컬럼명 데이터형,...; -> 컬럼 삭제

alter table 테이블명 change column 원래컬럼명 바꿀컬럼명,...; ->컬럼명 변경

 

 

 

7. 테이블 구조 보기

describe 테이블명;

 

 

 

8. 조인(2개 이상의 테이블에서 조건에 맞는 데이터 추출하기)

select table1.컬럼명, table2.컬럼명

from table1

inner join table2 (using(두 테이블에서 공통된 컬럼))

where 조건

 

 

 

 

 
 
 
 

 

 

Posted by Y&S