เนื่องจาก มีคนโพสถามไกนไว้ที่บอร์ดเยอะ วันนี้ผมเลยเอามาลงให้ แล้วครับ สำหรับ แฟนพันธ์แท้ เว็บ MindPHP.com โดยเฉพาะ ครับ


วิธีการ คือ เขียน PHP แทรกลงใจ javascript โดย ใช้ php


ในที่นี้จะใช้ MSSQL เป็น เป็นฐานข้อมูลนะครับ
ตอนนำไปใช้จริง ก็ สร้าง table ขึ้นมา 2 table ไว้เก็บ รหัสกับ ชื่อ ของ ทั้ง อำเภอ และ ตำบล โดยที่ table ตำบล ต้องเก็บ รหัสอำเภอ ด้วย ใคร ในมีปัญหาในการสร้าง ก็ ฝากถามไว้ที่บอร์ดได้ครับ
เมื่อสร้าง table แล้ว ใส่ ข้อมูล ทั้ง 2 ตารางแล้ว ก็ เขียน
php ติอต่อกับ database
แล้ว เอา โค้ด ด้านล้าง นี้ไปประยุคย์ใช้ได้เลยครับ

<script type=text/javascript >
 var arrItems = new Array();
 var arrItemsGrp = new Array();
 var arrItemValue = new Array();
 var arrItems2 = new Array();
 var arrItemsGrp2 = new Array();
 var arrItemValue2 = new Array();
<?
  $sql11= "select * from tambon "; 
 $result11=mssql_query($sql11);
  while($row11=mssql_fetch_row($result11)) {
$x=$x+1;
echo "x=".$x.";";
$aaa=$row11[2];
$tbn=$row11[1];
$tbi=$row11[0];
echo "a=".$aaa.";";
echo "b='".$tbn."';";
echo "c=".$tbi.";";
 ?> 
arrItems2[x]=b;arrItemsGrp2[x]=a;arrItemValue2[x]=c;
<? } 
 ?>
function selectChange(control, controlToPopulate, ItemArray, GroupArray){
    var myEle ;
    var x ;
    for (var q=controlToPopulate.options.length;q>=0;q--) controlToPopulate.options[q]=null;
    myEle = document.createElement("option") ;
    myEle.value = " ";
    myEle.text = " -- เลือกอำเภอ/เขต -- " ;
    controlToPopulate.add(myEle) ;
    for ( x = 0 ; x < ItemArray.length  ; x++ )
   {
     if ( GroupArray[x] == control.value )
    {
      myEle = document.createElement("option") ;
      myEle.value = arrItemValue[x];
      myEle.text = ItemArray[x] ;
      controlToPopulate.add(myEle) ;
    }
   }
  controlToPopulate.focus();
 }


 function selectChange2(control2, controlToPopulate2, ItemArray2, GroupArray2){
    var myEle ;
    var x ;
    for (var q=controlToPopulate2.options.length;q>=0;q--) controlToPopulate2.options[q]=null;
    myEle = document.createElement("option") ;
    myEle.value = " ";
    myEle.text = " -- เลือกตำบล/แขวง -- " ;
    controlToPopulate2.add(myEle) ;
    for ( x = 0 ; x < ItemArray2.length  ; x++ )
   {
     if ( GroupArray2[x] == control2.value )
    {
      myEle = document.createElement("option") ;
      myEle.value = arrItemValue2[x];
      myEle.text = ItemArray2[x] ;
      controlToPopulate2.add(myEle) ;
    }
   }
  controlToPopulate2.focus();
 }
</script>​



เมื่อ ได้ javascript ที่เก็บข้อมูล จากdatabase ไว้ในตัวแปลของ javascript แล้ว ก็ ถึง เวลานำไปใช้ล่ะครับ
อันนี้เป็น เลือก อำเภอ 

 
< select name="home_amph" id="home_amph" size="1" style="width: 200px;" class="fieldselect" onChange='selectChange2(this, form1.home_tumbon, arrItems2, arrItemsGrp2);document.getElementById("h_amph").value=document.getElementById("home_amph").options[document.getElementById("home_amph").selectedIndex].text;'>
   <?
     $sql1= "select * from ampid "; 
      $result1=mssql_query($sql1);
  while($row1=mssql_fetch_row($result1)) {
     echo"<option value=".$row1[0].">".$row1[1]."</option>";
} 
   ?>
            < /select>      
​

เลือกกตำบล ในอำเภอนั้นๆ
 
   < select name="home_tumbon" size="1" class="fieldselect" id="home_tumbon" style="width: 180px;" onChange='document.getElementById("h_tumbon").value=document.getElementById("home_tumbon").options[document.getElementById("home_tumbon").selectedIndex].text;'>
            < /select>​


มีปัญหาโพสถามไว้ได้ที่
http://www.mindphp.com/modules.php?name=Forums&file=viewforum&f=6



ในตัวอย่าง นี้ ใช้ ฐานข้อมูลเป็น MSSQL นะครับ ใคร ใช้ เป็น MySql ก็ เปลี่ยน Function เกี่ยวกับการติดต่อฐานข้อมูล เป็น ของ MySql เอาเองนะครับ

ปล.ไว้ ว่างๆ จะ เอา แบบใช้ AJAX มาให้ดูครับ หรือถ้าใครทำไว้แล้วก็ เอามาลง บ้างนะครับ

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
SQL JOIN: การรวมข้อมูลจากหลายตารางในฐานข้อมูล
โดย witsarutt000 พฤ 14 มี.ค. 2024 4:07 pm บอร์ด SQL Knowledge
1
166
พฤ 14 มี.ค. 2024 5:44 pm โดย Sirayu View Topic SQL JOIN: การรวมข้อมูลจากหลายตารางในฐานข้อมูล
PHP การเปลี่ยนแปลงที่สร้างปรากฏการณ์ในโลกของเว็บ
โดย witsarutt000 พฤ 14 มี.ค. 2024 11:17 am บอร์ด PHP Knowledge
0
125
พฤ 14 มี.ค. 2024 11:17 am โดย witsarutt000 View Topic PHP การเปลี่ยนแปลงที่สร้างปรากฏการณ์ในโลกของเว็บ
ปัญหา Harddisk ขึ้น 100% เวลาเซฟไฟล์ หรือภาพ จะค้่างที่หน้าแท๊บ Expolorer
โดย Thanavat_n พ 13 มี.ค. 2024 11:02 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
5
270
พ 13 มี.ค. 2024 1:34 pm โดย Thanavat_n View Topic ปัญหา Harddisk ขึ้น 100% เวลาเซฟไฟล์ หรือภาพ จะค้่างที่หน้าแท๊บ Expolorer
ตู้รองเท้า ไอเท็มวิเศษช่วยจัดระเบียบคอลเลกชันรองเท้าคู่โปรด
โดย @Foretoday อ 12 มี.ค. 2024 1:46 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
184
อ 12 มี.ค. 2024 1:46 pm โดย @Foretoday View Topic ตู้รองเท้า ไอเท็มวิเศษช่วยจัดระเบียบคอลเลกชันรองเท้าคู่โปรด
แนะนำสถานที่น่าเที่ยวในจังหวัดชุมพรพร้อมวิธีการเดินทาง
โดย witsarutt000 จ 11 มี.ค. 2024 6:14 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
142
จ 11 มี.ค. 2024 6:14 pm โดย witsarutt000 View Topic แนะนำสถานที่น่าเที่ยวในจังหวัดชุมพรพร้อมวิธีการเดินทาง
ย้าย VM ข้าม Host ด้วย scp กรณีศึกษา Vmware ESXI
โดย mindphp อ 10 มี.ค. 2024 4:36 am บอร์ด Linux - Web Server
0
239
อ 10 มี.ค. 2024 4:36 am โดย mindphp View Topic ย้าย VM ข้าม Host ด้วย scp กรณีศึกษา Vmware ESXI
IP และ vpn (VMware)
โดย ballmykids อ 10 มี.ค. 2024 2:35 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
203
จ 11 มี.ค. 2024 3:19 pm โดย ballmykids View Topic IP และ vpn (VMware)
แบบนี้ต้องทำยังไง ในกรณีที่ Server เดิมเราได้ทำการ Raid 1 กับ HDD 2 ลูกแรกแล้ว
โดย Anonymous ศ 08 มี.ค. 2024 7:02 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
166
ศ 08 มี.ค. 2024 8:12 pm โดย mindphp View Topic แบบนี้ต้องทำยังไง ในกรณีที่ Server เดิมเราได้ทำการ Raid 1 กับ HDD 2 ลูกแรกแล้ว