contact.zip- 소스파일 다운로드


회사에서 사용하는 사원 메신져에 연락처가 있긴 합니다만 해당 연락처에서 메일주소를 보려면 등록정보를 클릭해서 봐야하고

그렇다니 AD주소록을 이용하여 메일주소를 확인하면 해당 직원의 직급을 확인하기가 어렵습니다 ㅠㅠㅠㅠ


이러다보니 사원명+직급+내선+메일주소 를 한번에 보기위한 페이지를 한꺼번에 DB에 넣고 만들어 보자...

라고 생각해서 만들었습니다.

소스 열어보시면 아시겠지만 워낙 발로 만들어서(여기저기서 소스 copy&paste 한 결과) DB 불러오는것도 제각각이고 

난리도 아닙니다....--;;


대학교때 취미로 공부한 PHP를 업무에서 써먹은건 또 오랫만이네요..

한때 제로보드 같은걸로 그냥 땜빵해서 스킨씌우고 사용하긴 했었는데 말이죠...

제가 원하는형태로 만들려고 하다보니 이래저래 손이 가네요.


일단 소개 순서는 1. DB테이블, 2. PHP소스 에 대해서 설명해 보고자 합니다.


1. DB테이블 구조

클릭하시면 크게 보임


자세히 안보이실 수 있으시겠지만 설명을 하자면 총 8개의 필드를 갖고 있는 테이블 입니다.

저장된 소스의 DB명은 dbname 이며, 패스워드는 1234로 임의 입력되었습니다. 

사용하시는 환경에 맞추어 수정하셔서 사용하세요. 아래는 각 필드 설명입니다.

NO : 자동으로 붙는 번호입니다. 나중에 remove.php(삭제시)를 호출할때 사용

rank : 직급 필드 입니다.

bu : 부서 필드 입니다.

name_en : 영문이름 필드 입니다.(나름 외국계라)

name_ko : 한글이름 필드 입니다.

floor : 층(위치) 필드 입니다. 저희는 층이 나누어져 있어서 층으로 표기했지만 위치로 사용하심 될듯

phone : 내선 필드 입니다. 연락처를 넣을때 쓰심 될듯 합니다.

mail : 사내메일 주소 입니다.

만약 메모나 기타 정도 넣고 싶으시면 더 추가하셔도 될듯 합니다.


2. PHP소스코드


회사에 팀이동이나 인사이동이 잦은편이라서 수정은 아예 볼 수 있는 사람 전부 수정할 수 있도록 만들었습니다.

단 삭제나 추가는 페이지를 별도로 만들어서 특정 사람들만 추가/삭제 할 수 있도록 만들었습니다.

각 파일에 대한 설명을 붙여보겠습니다.

dbConfig.php : DB접속 정보를 갖고 있는 페이지 입니다.

index.php : 해당페이지의 가장 첫페이지 이며 모든 연락처가 보여지는 페이지 입니다.(저 맨위 스샷동일)

search.php : index.php 에서 검색을 했을때 검색결과를 뿌려주는 페이지 입니다.

edit.php : 수정을 눌렀을때 수정할 내용을 받는 페이지 입니다.

update.php : edit에서 수정한 값을 실행했을때 호출되는 페이지 이며 edit.php파일의 내용을 업데이트 하는 내용입니다.

adduser.php : 사원 입력 폼이 있는 페이지 입니다. 해당 인원에 대해서 입력 하시면 됩니다.

insert.php : 위의 adduser.php에서 입력후 실행을 하면 호출되는 페이지 입니다. 실제 DB에 입력되는 파일입니다.

removeuser.php : index.php 수정해서 만든 페이지 입니다. 해당 유저를 선택하면 삭제 파일이 호출되어 삭제됩니다.

remove.php : 실제로 위 파일에서 삭제를 눌렀을때 삭제 되는 페이지 입니다.


현재 버그는 삭제시에 취소해도 삭제가 되버립니다. 이거 고쳐야 되는데 자바찾는게 일이네요...


사실 게시판을 응용해서 만들었습니다만은 요즘 회사에 연락처 제대로 안되어있는곳이 얼마나 되겠습니까..만은....

정말 없는곳도 있을까 싶은 생각이 들어서 인사팀에 연락처 받아서 db에 입력하고 만들게 되었습니다.

현재는 윗사람들 보면 제가 피곤해질까바 사내 지인들만 돌려서 사용중입니다.


혹시나 더 좋은 아이디어나 수정이 있으시면 언제든지 댓글 주세요!


저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
회사에서 테스트 하는데 기록을 위해서 작성

환경
2개의 mysql 존재 각 캐릭터 셋은 euckr 과 latin1 로 세팅 이 두개의 DB내용을 sqlrelay로 불러 와야됨(글짜깨짐 없이.)

작업
 
1. 2개의 mysql을 각각 캐릭터셋을 옵션으로 줘서 컴파일 한다.

./configure --prefix=/usr/local/mysql --with-plugins=innobase --enable-thread-safe-client --with-charset=euc_kr
./configure --prefix=/usr/local/mysql2 --with-plugins=innobase --enable-thread-safe-client --with-charset=latin1

2. sqlrelay를 각각 mysql을 지정하여 컴파일한다
./configure --prefix=/usr/local/sqlrelay --with-rudiments-prefix=/usr/local/rudiments --with-mysql-prefix=/usr/local/mysql --with-php-prefix=PHP
./configure --prefix=/usr/local/sqlrelay2 --with-rudiments-prefix=/usr/local/rudiments --with-mysql-prefix=/usr/local/mysql2 --with-php-prefix=PHP

3. /usr/local/sqlrelay/etc/ 아래 sqlrelay.conf 파일에 접속 정보를 넣어준다.

4. 각 sqlrelay를 실행한다.
/usr/local/sqlrelay/bin/sqlr-start -id test1234
/usr/local/sqlrelay2/bin/sqlr-start -id test5678

5. sqlrelay Shell에 들어가서 환경변수를 확인한다.
/usr/local/sqlrelay/bin/sqlrsh -id test1234
/usr/local/sqlrelay2/bin/sqlrsh -id test5678 입력후 0> 나오면
show variables LIKE 'c%';  입력

6. 아래와 같이 나오면 성공!
latin1 의 경우
0> show variables LIKE 'c%';
Variable_name            Value                                
===============================================================
character_set_client     latin1                                
character_set_connection latin1                                
character_set_database   utf8                                  
character_set_filesystem binary                                
character_set_results    latin1                                
character_set_server     latin1                                
character_set_system     utf8      
euckr의 경우
0> show variables LIKE 'c%';
Variable_name            Value                                
===============================================================
character_set_client     euckr                                
character_set_connection euckr                                
character_set_database   euckr                                
character_set_filesystem binary                                
character_set_results    euckr                                
character_set_server     euckr                                
character_set_system     utf8      
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

+ Recent posts