※ ACCESS인 경우 "새로만들기 → 테이블가져오기", MS-SQL인 경우 "Import Data"를 통해 # 1에서 받은 엑셀파일을 Import 시킵니다. |
# 3에서 새창을 통해 주소검색(찾기)페이지 작성.
※ 자바스크립트를 이용한 검색창 열기 입력 예 : <input type="text" name="dong"> ☞ 찾을 동 이름 입력 박스 버튼 예 : <a href="javascript:OpenZip()">[주소찾기]</a> ☞ 스크립트 함수명은 임의변경 가능 |
# 3에서 입력받은 dong 값을 가지고 # 2에서 Import 시킨 우편번호 테이블의 dong 필드를 비교하여,
※ 유사 단어 검색 구문 작성 "SELECT * FROM 테이블명 WHERE 검색대상 필드명 LIKE '%"& dong(변수명) &"%'" |
검색 내용을 출력하여, 사용자로 하여금 선택할 수 있게 해줍니다.
내용 | 비고 |
[111-111] 자동으로 입력될 주소 미입력 주소 | ☜ 실제 출력 내용 |
[<%=레코드("zipcode")%>] <%=레코드("sido")%> <%=레코드("gugun")%> <%=레코드("dong")%> <%=레코드("bunji")%><%=레코드("sido")%><%=레코드("gugun")%><%=레코드("dong")%><%=레코드("bunji")%> | ☜ 테이블의 필드 |
실제 출력된 주소를 사용자가 선택할 때, 스크립트를 이용하여 정보를 전달해 주어야 합니다.
위 내용으로 작성해본다면,
※ 만약 스크립트 오류가 발생한다면 이 부분을 먼저 살펴보세요. <a href="javascript:InStrData('<%=레코드("zipcode")%>','<%=레코드("sido")%> <%=레코드("gugun")%> <%=레코드("dong")%>')"> [111-111] 자동으로 입력될 주소 미입력 주소</a> |
스크립트의 function문에서,
function InStrData(zip,address){ opener.document.회원가입서 폼이름.우편번호 input box name.value = zip; //회원가입서의 우편번호 input box에 zip 변수의 값을 입력한다. opener.document.회원가입서 폼이름.자동입력주소 input box name.value = address; //회원가입서의 자동입력주소 input box에 address 변수의 값을 입력한다. opener.document.회원가입서 폼이름.나머지주소 input box name.focus(); //입력할 나머지 주소 input box가 있다면 포커스를 이동시킨다. window.close(); // 입력 후 주소검색 창 닫음 } |
E.M.에서 다음의 테이블을 만든다.
Zipnum
Zip1 char(3)
Zip2 char(3)
Address varchar(80)
Zipall
A1 varchar(10)
A2 varchar(15)
A3 varchar(15)
A4 varchar(40)
A5 varchar(10)
A6 varchar(15)
A7 varchar(15)
Zip_new char(6)
Zip_old char(6)
압축을 풀고, 엑셀을 실행 한다.
엑셀의 데이터를 SQL로 전송하기
강원.xls를 연다.
데이터 영역만 블록 카피 후 새파일을 열어서 붙여넣기를 한다.
첫행에 행을 하나 추가해 둔다.(임포트시 필드로 처리 한다.)
sheet2,sheet3삭제
붙여넣기가된 새 파일을 저장한다.(강원도.xls)
데이터 베이스에서 임포트 한다.
텍스트 변환후 SQL로 전송하기
경기.xls를 열고 데이터 영역만 블러 설정 복사 / 새 파일을 열고 붙여넣기
sheet2sheet3삭제 / 다른 이름으로 저장 / 타입을 텍스트(탭으로 분리)로 선택
경기도.txt로 저장
SQL에서 Import
select count(*) from zipall
--현재 총 데이터 수 :
--우편번호를 구분해 보자
select substring(zip_new,1,3) from zipall
select substring(zip_new,4,3) from zipall
--헤딩처리 해서 우편번호를 나누어 보자, 비교를 위해 10개씩 보자
select top 10 zip_new from zipall
select top 10 앞=substring(zip_new,1,3),뒤=substring(zip_new,4,3) from zipall
--이제 zipall테이블의 데이터를 진짜 테이블인 zipnum으로 보내자, 필드 결합으로
insert zipnum(zip1,zip2,address)
select substring(zip_new,1,3),substring(zip_new,4,3),a1 + ' ' + a2 + ' ' + a3 + ' ' + a4 + ' ' + a5 + ' ' + a6 + ' ' + a7 from zipall
--결과 우편 번호만 입력되었고 주소는 모두가 null값이다.
--주소 영역만 결합으로 한꺼번에 보고 싶은데 ...
select 주소=a1 + ' ' + a2 + ' ' + a3 + ' ' + a4 + ' ' + a5 + ' ' + a6 + ' ' + a7 from zipall
--왜 null값이 나타 나는가?
--갯수가 문제인가? 두개 부터 시작해 본다.
select 주소=a1 + ' ' + a2 from zipall
select 주소=a1 + ' ' + a2 + ' ' + a3 from zipall
--여기부터는 실행이 이상 하다
select 주소=a1 + ' ' + a2 + ' ' + a3 + ' ' + a4 from zipall
--바로 NULL 에는 연산이 안되기에 ...
--그래서 일단은 null의 갑들을 공백 한칸으로 변경하려 한다.
--update zipall set a1=' ' where a1 is null
--update zipall set a2=' ' where a2 is null
update zipall set a3=' ' where a3 is null
update zipall set a4=' ' where a4 is null
update zipall set a5=' ' where a5 is null
update zipall set a6=' ' where a6 is null
update zipall set a7=' ' where a7 is null
--이제 실행
insert zipnum(zip1,zip2,address)
select substring(zip_new,1,3),substring(zip_new,4,3),a1 + ' ' + a2 + ' ' + a3 + ' ' + a4 + ' ' + a5 + ' ' + a6 + ' ' + a7 from zipall
--시간이 필요하며, 모든 데이터가 필드 조합이 되면서 옮겨지게 된다.
이제 검색을 해보자.
자신의 주소에서 (동)(읍)중이 하나만 입력으로 검색해보자
[출처] 웹디황용
"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기, 각종 광고, 영업, 판매, 제안서, 전단지 반응율 3배×10배 이상 높이는 마법의 8단계 공식" |
![]() |
☞자세히보기 |
|
|