>> Edit article
이름
제목
패스워드
안녕하세요? 오랫만에 팁란에 글을 올리는것 같군요... 현재 제가 있는 회사의 DB에는 약 2000여 개의 Data가 있는데 전화번호가 모두 예전것이라 새로운 지역전화번호로 바꿀 필요가 생겼군요... 일일이 하나씩 바꾼다는것은 무리한 일이고... 더욱 불행한것은 지역번호가 국번-전화번호와 같은 컬럼에 있다는것이 저를 슬프게 하는군요.....(DB 설계시 따로 떼어놓았어야 하는건데....T.T) 만약 지역번호가 국번-전화번호와 같은 컬럼에 존재한다면 임시적으로 다음과 같이 한번 필터링(?)해서 웹브라우저로 출력해 줄 필요가 있을 것 같군요... 더 좋은 방법이 있으면 한 수 부탁합니다... ----- 전화-팩스번호 : "$callfax"라는 변수일 경우, ** 경기도 가평/의정부에는 굳지 필요가 없군요.... ** 그리고 강원도 전부를 다음과 같이 수정(03[679][0-9]) $callfax = eregi_replace("^0353-", "033-", $callfax); // 강원도 철원 //$callfax = eregi_replace("^035[16]-", "031-", $callfax); // 경기도 가평/의정부 $callfax = eregi_replace("^03[679][0-9]-", "033-", $callfax); // 강원도 전부 $callfax = eregi_replace("^03[3-5][0-9]-", "031-", $callfax); // 경기도 전부 $callfax = eregi_replace("^05[259][0-9]-", "055-", $callfax); // 경남 전부 $callfax = eregi_replace("^05[4678][0-9]-", "054-", $callfax); // 경북 전부 $callfax = eregi_replace("^068[13]-", "063-", $callfax); // 전북 정읍/부안 $callfax = eregi_replace("^06[13689][0-9]-", "061-", $callfax); // 전남 전부 $callfax = eregi_replace("^06[57][0-9]-", "063-", $callfax); // 전북 전부 $callfax = eregi_replace("^0414-", "043-", $callfax); // 충북 영동 $callfax = eregi_replace("^04[156][0-9]-", "041-", $callfax); // 충남 전부 $callfax = eregi_replace("^04[347][0-9]-", "043-", $callfax); // 충북 전부 ----- *PS : 국가 번호없이 [0353-0000-0000]와 같은 경우입니다.... .. -- 전자서명을 만들지 못해서........T.T ------------------------------------------- [추가한 내용] ************************* 방금 전화번호를 PHP로 수정했습니다. 생각보다 간단하더군요... 제가 했던 방법은 다음과 같습니다.... (여러가지 다은 방법이 나올 수 있습니다...배열등등을 사용해서..) 예를 들어, $callfax 라는 변수는 for()문이나 while()으로 만들어지므로 저 같은 경우에는 for()을 사용했습니다. ... $result = mysql_query("SELECT count(no) FROM $table"); $total_record = mysql_result($result,0,0); // 전체 레코드 수를 구한다. ... $result = mysql_query("SELECT no,callfax,addr FROM $table ORDER BY no DESC"); // 참고로 no 컬럼은 자연증가한 절대번호입니다... // callfax는 전화-팩스번호 컬럼입니다... ... for($i = 0; $i <= ($total_record-1); $i++) { $no = mysql_result($result,$i,0); $callfax = mysql_result($result,$i,1); $addr = mysql_result($result,$i,2); $callfax = eregi_replace("^0353-", "033-", $callfax); // 강원도 철원 $callfax = eregi_replace("^03[679][0-9]-", "033-", $callfax); // 강원도 전부 $callfax = eregi_replace("^03[3-5][0-9]-", "031-", $callfax); // 경기도 전부 $callfax = eregi_replace("^05[259][0-9]-", "055-", $callfax); // 경남 전부 $callfax = eregi_replace("^05[4678][0-9]-", "054-", $callfax); // 경북 전부 $callfax = eregi_replace("^068[13]-", "063-", $callfax); // 전북 정읍/부안 $callfax = eregi_replace("^06[13689][0-9]-", "061-", $callfax); // 전남 전부 $callfax = eregi_replace("^06[57][0-9]-", "063-", $callfax); // 전북 전부 $callfax = eregi_replace("^0414-", "043-", $callfax); // 충북 영동 $callfax = eregi_replace("^04[156][0-9]-", "041-", $callfax); // 충남 전부 $callfax = eregi_replace("^04[347][0-9]-", "043-", $callfax); // 충북 전부 mysql_query("UPDATE $table SET callfax='$callfax' WHERE no ='$no'"); // 필터링(?)한 전화번호를 다시 DB에 넣는다. echo ("no:$no $callfax($addr)<br>"); } ... 이상입니다... 참고로... PHP4pl2에서 2000여개의 DATA를 고치는데 약 1초 정도 걸리는 군요..(AMD K6-3 400Mhz) 만약 PHP3로 작업하시는 분중에서 이 보다 더 많은 양을 관리하시는 분은 반드시 php3.ini(또는 php.ini)에서 max_execution_time = 30 부분을 넉넉하게 정하고 나서 웹서버를 반드시 재가동하시길 바랍니다. 앞의 경우는 최대 스크립트 실행시간이 30초 라는 의미입니다. (1000만까지 for()문을 돌렸봤더니만 "못하겠다고" 에러를 내더군요...) *PS : 혹시 노파심에서.. 반드시 백업하시고 작업을 진행하시길 바랍니다... 작업이 끝나고 위의 필터링(?)한 부분과 UPDATE SQL 부분은 지워주시길 바랍니다. 위의 내용은 초보자를 위한 하나의 방법을 제시한 것 뿐입니다. (DB 전문가님이 보시면 무척 혼날것 같은 느낌이............T.T)
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved