주소 자동찾기 프로그램 소스좀 살펴 주세요.

kimyh의 이미지

주소 자동찾기 프로그램을 좀 그렇긴 하지만 하나 삽질 해다 열심히 구현해보고 있는 중입니다.
그런데 워낙 맹탕이라 완성하기가 여간 어려운게 아니군요.
기능은
첫번째 select 박스에서 도, 직할시를 찾으면 다음 select 박스에 첫번째 select 박스에서 선택한 해당 시, 군, 구가 나와 선택 할 수 있게하고 두번째 select박스에서 시,군,구가 결정되면 세번째 select박스에서는 두번째 select박스에서 선택한 시,군,구 에 해당된 읍,면,동을 선택할 수 있게 하고자 합니다.

시도는 아래화일에서 직접 select 하고 두번째 시,군,구와 세번째 읍,면,동은 양이 많을것 같아 각각 sigun, dong,이라는 레코드에 db로 저장 한것에서 불러올려고 합니다 .

아래 화일의 내용을 갖은 책을 봐가며 독학(?)하고 있는데 쉽지가 않군요.
아래 내용중 function MySubmit(Form, Index) 의 Se.php의 내용이 어떤건지와 실제 db 내용을 어떤 형식으로 저장 해주어야 하는지 아시는분 도움좀 주세요.
아는게 없어 질문 내용이 좀 허접하군요. 죄송합니다.

<html> 
<head><title>주소찾기</title> 
<script language="JavaScript"> 
<!-- 
function MySubmit(Form, Index) 
{ 
   switch(Index) 
   { 
      case 1 : 
         Form.action="Se.php?Flag=1"; 
         break; 
      case 2 : 
         Form.action="Se.php?Flag=2"; 
         break; 
      case 3 : 
         Form.action="Se.php?Flag=3"; 
         break; 
      default : 
   } 
   Form.submit(); 
} 
function SelectThis(Form) 
{ 
   var FormObject = eval("opener.document.form"); 
   FormObject.address.value = Form.sido.value+" "+Form.sigun.value+" "+Form.dong.value; 
   FormObject.sido.value= Form.sido.value; 
   FormObject.sigun.value= Form.sigun.value; 
   FormObject.dong.value= Form.dong.value; 
   FormObject.ri.focus(); 

   self.close(); 
} 
//--> 
</script> 
</head> 

<body bgcolor="#ffffff"> 

<? 
@extract($HTTP_GET_VARS);
@extract($HTTP_POST_VARS);


include_once ("../lib/dbcon.php");
########## function 
function Error($ErrorCode) 
{ 
  switch ($ErrorCode) 
{ 
     case ("QueryError") :       
          $ErrorNo = mysql_errno(); 
         $ErrorMsg = mysql_error();         
         $ErrorMsg = "Error Code : " . $ErrorNo . "Error message : " . $ErrorMsg; 
         $ErrorMsg = addslashes($ErrorMsg);         
         echo($ErrorMsg);   
         break; 

      case ("DBError") :       
        $ErrorNo = mysql_errno(); 
         $ErrorMsg = mysql_error();         
         $ErrorMsg = "Error Code : " . $ErrorNo . "Error message : " . $ErrorMsg; 
         echo($ErrorMsg); 
         break; 

      default : 
   } 
} 
########## connect your database.. 

if (!$db) 
{ 
   Error("DBError"); 
   exit; 
} 
########################################### init array 
$SidoName=array("--선 택--","-경기도-","-충청남도-","-충청북도-","-강원도-","-대전직할시-","-경상남도-","-경상북도-","-광주직할시-","-대구광역시-","-부산직할시-","-서울특별시-","-울산광역시-","-인천광역시","-전라남도-","-전라북도-","-제주도-"); 
switch($Flag) 
{ 
########################################### first start 

   case 0 : 
      echo("<form method=post>"); 
      echo("<select name='sido' onChange='MySubmit(this.form, 1)'>"); 
      $i=0; 
      while( $SidoName[$i] ) 
      { 
         echo("<option value='$SidoName[$i]'>$SidoName[$i]</option>"); 
         $i++; 
      } 
      echo("</select>"); 
      echo("</form>"); 
      break; 
############################################  on change SelectedSidoName 
   case 1 : 
############################# unchange previous selected(Sido) 


      $i=0; 
      echo("<form method=post>"); 
      echo("<select name='sido' onChange='MySubmit(this.form, 1)'>"); 
      while($SidoName[$i]) 
      { 
         if( $sido != $SidoName[$i] ) 
         { 
            echo("<option value='$SidoName[$i]'>$SidoName[$i]</option>"); 
         }  else  { 
           echo("<option value='$SidoName[$i]' selected>$SidoName[$i]</option>"); 
         } 
         $i++; 
      } 
      echo("</select>"); 
      echo ("ccccccccccccccccccccccccccccccc");       
############################### print Ggugun 
      $Result = mysql_query("select distinct(sigun) from addressSearch where sido='$sido' order by sigun ASC", $sock); 
      if (!Result) 
      { 
         Error("QueryError"); 
       
         exit; 
      } 
      $GugunName = mysql_fetch_row($Result); 
      echo("<select name='sigun' onChange='MySubmit(this.form, 2)'>"); 
      while($GugunName) 
      { 
         echo("<option value='$GugunName[0]'>$GugunName[0]</option>"); 
         $GugunName = mysql_fetch_row($Result); 
      } 
      echo("</select>"); 
      echo("</form>"); 
      break; 

   case 2 : 
############################### Sido, which is selected previous 
      $i=0; 
      echo("<form method=post>"); 
      echo("<select name='sido' onChange='MySubmit(this.form, 1)'>"); 
      while($SidoName[$i]) 
      { 
         if( $sido != $SidoName[$i] ) 
         { 
            echo("<option value='$SidoName[$i]'>$SidoName[$i]</option>"); 
         }  else  { 
            echo("<option value='$SidoName[$i]' selected>$SidoName[$i]</option>"); 
         } 
         $i++; 
      } 
      echo("</select>"); 
############################### Gugun selected previous 
      $Result =  mysql_query( "select distinct(sigun) from addressSearch where sido='$sido' order by sigun ASC", $sock ); 
      if (!Result) 
      { 
         Error("QueryError"); 
         exit; 
      } 
      $GugunName = mysql_fetch_row($Result); 
      echo("<select name='sigun' onChange='MySubmit(this.form, 2)'>"); 
      while($GugunName) 
      { 
         if( $sigun != $GugunName[0] ) 
         { 
            echo("<option value='$GugunName[0]'>$GugunName[0]</option>"); 
         }  else   { 
            echo("<option value='$GugunName[0]' selected>$GugunName[0]</option>"); 
         } 
      $GugunName = mysql_fetch_row($Result); 
      } 
      echo("</select>"); 
########################### Eupmyundong 
      $Result1= mysql_query( "select distinct(dong) from addressSearch where sido='$sido' and sigun='$sigun' order by dong ASC", $sock ); 
      if (!Result1) { 
         Error("QueryError"); 
         exit; 
      } 
      $EupmyundongName = mysql_fetch_row($Result1); 
      echo("<select name='dong' onChange='MySubmit(this.form, 3)'>"); 
      while($EupmyundongName) 
      { 
         if( $dong != $EupmyundongName[0] ) 
         { 
            echo("<option value='$EupmyundongName[0]'>$EupmyundongName[0]</option>"); 
         }  else   { 
            echo("<option value='$EupmyundongName[0]' selected>$EupmyundongName[0]</option>"); 
         } 

         $EupmyundongName = mysql_fetch_row($Result1); 
      } 
      echo("</select>"); 
      echo("</form>"); 
      break; 
############################### 

   case 3 : 
############################### Sido, which is selected previous 
      $i=0; 
      echo("<form method=post>"); 
      echo("<select name='sido' onChange='MySubmit(this.form, 1)'>"); 
      while($SidoName[$i]) 
      { 
         if( $sido != $SidoName[$i] ) 
         { 
            echo("<option value='$SidoName[$i]'>$SidoName[$i]</option>"); 
         }  else  { 
            echo("<option value='$SidoName[$i]' selected>$SidoName[$i]</option>"); 
         } 
         $i++; 
      } 
      echo("</select>"); 
############################### Gugun selected previous 
      $Result =  mysql_query( "select distinct(sigun) from addressSearch where sido='$sido' order by sigun ASC", $sock ); 
      if (!Result) 
      { 
         Error("QueryError"); 
         exit; 
      } 
      $GugunName = mysql_fetch_row($Result); 
      echo("<select name='sigun' onChange='MySubmit(this.form, 2)'>"); 
      while($GugunName) 
      { 
         if( $sigun != $GugunName[0] ) 
         { 
            echo("<option value='$GugunName[0]'>$GugunName[0]</option>"); 
         }  else   { 
            echo("<option value='$GugunName[0]' selected>$GugunName[0]</option>"); 
         } 
      $GugunName = mysql_fetch_row($Result); 
      } 
      echo("</select>"); 
########################### Eupmyundong 
      $Result1= mysql_query( "select distinct(dong) from addressSearch where sido='$sido' and sigun='$sigun' order by dong ASC", $sock ); 
      if (!Result1) { 
         Error("QueryError"); 
         exit; 
      } 
      $EupmyundongName = mysql_fetch_row($Result1); 
      echo("<select name='dong'  onChange='MySubmit(this.form, 3)'>"); 
      while($EupmyundongName) 
      { 
         if( $dong != $EupmyundongName[0] ) 
         { 
            echo("<option value='$EupmyundongName[0]'>$EupmyundongName[0]</option>"); 
         }  else   { 
            echo("<option value='$EupmyundongName[0]' selected>$EupmyundongName[0]</option>"); 
         } 

         $EupmyundongName = mysql_fetch_row($Result1); 
      } 
      echo("</select>"); 

############################### 

   default : 
      echo("<form method=post>"); 
      echo("<select name='sido' onChange='MySubmit(this.form, 1)'>"); 
      $i=0; 
      while($SidoName[$i]) 
      { 
         echo("<option value='$SidoName[$i]'>$SidoName[$i]</option>"); 
         $i++; 
      } 
      echo("</select>"); 
      echo("</form>"); 
############################### 
} 
mysql_close(); 
?> 
</body> 
</html> 

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.