การใช้งาน Combobox 3 ระดับ

เพื่อเลือก อำเภอ ตำบล หมู่บ้าน โดยใช้ฐานข้อมูล SQL โดยไม่ใช้ AJAX

<?
  $ServerName="localhost";
  $UserName="root"; // กำหนด User ของ MySQL
  $UserPassword=""; // กำหนดรหัสผ่านของ MySQL
  $DatabaseName="province"; // กำหนดชื่อ Database
    
  //สร้าง Connection ติดต่อกับ MySQL Server เก็บไว้ที่ตัวแปร $conn
  $conn = mysql_connect($ServerName, $UserName, $UserPassword);
  if (!$conn) die("ไม่สามารถติดต่อกับ MySQL ได้");
    
  //เลือกใช้งานฐานข้อมูลที่กำหนดไว้ที่ตัวแปร $DatabaseName
  mysql_select_db($DatabaseName, $conn) or die("ไม่สามารถเลือกใช้งานฐานข้อมูล $DatabaseName ได้");
    
  $amphur=$_GET[amphur];
  $tumbon=$_GET[tumbon];
  
  //แสดงรายการ อำเภอ
  $sql="select * from amphur order by id";
  $query = mysql_query($sql, $conn);

  echo "<select name=amphur onChange='comboselect(this.value, \"$tumbon\")'>";
  echo "<option>- เลือกอำเภอ -</option> ";
  while ($fetcharr = mysql_fetch_array($query)) {
    $val = $fetcharr['amp_code'];
    $label = $fetcharr['amp_name'];
    echo "<option value='$val'";
    if ($val==$amphur) echo " selected"; //เลือกรายการที่ส่งมา
    echo ">$label</option> ";
  }
  echo "</select>";

  //แสดงรายการ ตำบล เมื่อกำหนด อำเภอ
  if ($amphur!='') {
    $sql="select * from tumbon where amp_code = '$amphur'";
    $query = mysql_query($sql, $conn);

    echo "<select name=tumbon onChange='comboselect(\"$amphur\", this.value)'>";
    echo "<option>- เลือกตำบล -</option> ";
    while ($fetcharr = mysql_fetch_array($query)) {
      $val = $fetcharr['tum_code'];
      $label = $fetcharr['tum_name'];
      echo "<option value='$val'";
      if ($val==$tumbon) echo " selected"; //เลือกรายการที่ส่งมา
      echo ">$label</option> ";
    }
    echo "</select>";
  }
  
  //แสดงรายการ บ้าน เมื่อกำหนด ตำบลมา
  if ($tumbon!='') {
    $sql="select * from ban where tum_code = '$tumbon'";
    $query = mysql_query($sql, $conn);

    echo "<select name=ban onChange='banChange()'>";
    echo "<option>- เลือกหมู่บ้าน -</option> ";
    while ($fetcharr = mysql_fetch_array($query)) {
      $val = $fetcharr['ban_code'];
      $label = $fetcharr['ban_name'];
      echo "<option value='$val'";
      if ($val==$tumbon) echo " selected"; //เลือกรายการที่ส่งมา
      echo ">$label</option> ";
    }
    echo "</select>";
  }
?>
<script language=Javascript>
//เมื่อเลือก combobox อำเภอ+ตำบล
function comboselect(amphur, tumbon) {
  document.URL='?amphur='+amphur+'&tumbon='+tumbon;
}

//เมื่อเลือกบ้าน
function banChange() {
  alert('อำเภอ : '+amphur.value+', ตำบล : '+tumbon.value+', บ้าน : '+ban.value);
}
</script>

ฐานข้อมูลตัวเดียวกันกับอันนี้เลยครับ บทที่ 10 ใช้งาน Combobox
ผู้เขียน goragod โพสต์เมื่อ 02 เม.ย. 2551 เปิดดู 14,081 ป้ายกำกับ PHPSQL
^