ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?
เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

หน้า: [1]   ลงล่าง
  ตอบ  |  ส่งหัวข้อนี้  |  พิมพ์  
ผู้เขียน หัวข้อ: Combobox เลือก จังหวัด อำเภอ ตำบล  (อ่าน 19752 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Nathan_bc
อดีตกาลผ่านมาแล้วก็ช่างมัน
ทำเนียบรุ่น BC46
โปรแกรมเมอร์ระดับโคตรเทพ
*****
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 2875


ปัจจุบันยังชีพอยู่สู้ต่อไป

one_bc@hotmail.com 085-8383607
ดูรายละเอียด เว็บไซต์
« เมื่อ: May 15, 2009, 12:30 PM »
แบ่งปัน ตอบโดยอ้างถึงข้อความอ้างถึง


Combobox เลือก จังหวัด อำเภอ ตำบล

ดูตัวอย่างได้ที่นี่ครับ http://www.goragod.com/ex/index.php?module=ex/province_utf_sql/index

วิธีการทำอันดับแรกให้สร้างไฟล์ province.php โดยเขียนโค๊ดดังนี้

โค๊ด:
<?
header( "Expires: Sat, 1 Jan 2005 00:00:00 GMT" );
header( "Last-Modified: ".gmdate( "D, d M Y H:i:s" )."GMT" );
header( "Cache-Control: no-cache, must-revalidate" );
header( "Pragma: no-cache" );
header( "content-type: application/x-javascript; charset=UTF-8" );

$province = $_POST[province];
$amphur = $_POST[amphur];
$tumbon = $_POST[tumbon];

$hostname_conn = "localhost";
$username_conn = "root";
$password_conn = "123456";
$database_conn = "province";
mysql_connect( $hostname_conn , $username_conn , $password_conn ) or die( "เชื่อมต่อฐานข้อมูลไม่ได้" );
mysql_select_db( $database_conn ) or die( "เลือกฐานข้อมูลไม่ได้" ); // เลือกฐานข้อมูล
      mysql_query("SET character_set_results=utf8");
      mysql_query("SET character_set_client='utf8'");
      mysql_query("SET character_set_connection='utf8'");
      mysql_query("collation_connection = utf8_unicode_ci");
      mysql_query("collation_database = utf8_unicode_ci");
      mysql_query("collation_server = utf8_unicode_ci");

//ให้คืนค่าจังหวัดไว้เป็นอันดับแรก
$sql = "SELECT id, name FROM province";
$result = mysql_query( $sql );
echo "[{\"province\":\"";
echo "<label for='province'>จังหวัด :</label>";
echo "<select name='province' id='province' onchange='dochange(this)'>";
echo "<option value='0'>--กรุณาเลือกจังหวัด--</option>";
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[id];
$name = $fetcharr[name];
echo "<option value='$id'";
if ( $province == $id ) //เลือกจังหวัดที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
echo "</select>\",\"amphur\":\"";

echo "<label for='amphur'>อำเภอ :</label>";
echo "<select name='amphur' id='amphur' onchange='dochange(this)'>";
//ถ้ามีการเลือกจังหวัดมาแล้วให้แสดงอำเภอต่อ
if ( $province != "0" && $province != "" )
{
echo "<option value='0'>--กรุณาเลือกอำเภอ--</option>";
$sql = "SELECT id, name FROM amphur WHERE provinceID='$province'";
$result = mysql_query( $sql );
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[id];
$name = $fetcharr[name];
echo "<option value='$id'";
if ( $amphur == $id ) //เลือกอำเภอที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
}
else
{
echo "<option value=''>--------------</option>";
};

echo "</select>\",\"tumbon\":\"";

echo "<label for='tumbon'>ตำบล :</label>";
echo "<select name='tumbon' id='tumbon'>";

//ถ้ามีการเลือกอำเภอมาแล้วให้แสดงตำบลต่อ
if ( $amphur != "0" && $amphur != "" )
{
echo "<option value='0'>--กรุณาเลือกตำบล--</option>";
$sql = "SELECT id, name FROM tumbon WHERE amphurID=$amphur";
$result = mysql_query( $sql );
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[id];
$name = $fetcharr[name];
echo "<option value='$id'";
if ( $tumbon == $id ) //เลือกตำบลที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
}
else
{
echo "<option value=''>--------------</option>";
};
echo "</select>\"}]";

mysql_close();
?>


ต่อมาให้สร้างไฟล์ index.php โดยในไฟล์เขียนโค๊ดดังนี้

โค๊ด:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>จังหวัด-อำเภอ-ตำบล ด้วย AJAX</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
* {
font-family:Tahoma;
font-size:8pt;
}
</style>
</head>
<body>
<?   
//ค่าที่ได้รับมาจากการ Submit
$province = $_POST[province];
$amphur = $_POST[amphur];
$tumbon = $_POST[tumbon];

if ( !empty( $amphur ) )
{
echo "<br /><br />ค่าที่ได้จากการ Submit คือ :<br /<br />จังหวัดที่เลือก : $province<br />อำเภอที่เลือก : $amphur<br />ตำบลที่เลือก : $tumbon<br /><br /><br />\n";
};
   
echo "<form action=\"?\" method=\"post\">\n";
echo '<span id="provinceDiv">';
echo "<label for=\"province\">จังหวัด :</label><select name=\"province\" id=\"province\" onchange=\"dochange('province')\">\n";
echo "<option value=\"$province\">--------------</option> \n" ;
echo "</select></span>\n";
   
echo '<span id="amphurDiv">';
echo "<label for=\"amphur\">อำเภอ :</label><select name=\"amphur\" id=\"amphur\" onchange=\"dochange('amphur')\">\n";
echo "<option value=\"$amphur\">--------------</option> \n" ;
echo "</select></span>\n";
   
echo '<span id="tumbonDiv">';
echo "<label for=\"tumbon\">ตำบล :</label><select name=\"tumbon\" id=\"tumbon\">\n"; //รายการสุดท้ายไม่ต้องมี event แล้ว
echo "<option value=\"$tumbon\">--------------</option> \n" ;
echo "</select></span>\n";
 
echo "<br /><br /><br /><input type=\"submit\" value=\"ส่ง\" name=\"submit\" />\n";
echo "</form>\n";
?>
<script type="text/javascript">
//AJAX
function Inint_AJAX()
{
try
{
return new ActiveXObject( "Msxml2.XMLHTTP" );
}
catch ( e )
{
};

try
{
return new ActiveXObject( "Microsoft.XMLHTTP" );
}
catch ( e )
{
};

try
{
return new XMLHttpRequest();
}
catch ( e )
{
};

alert( "XMLHttpRequest not supported" );
return null;
};

function dochange( obj )
{
var req = Inint_AJAX();
var province = document.getElementById( 'province' ).value;
var tumbon = document.getElementById( 'tumbon' ).value;
if ( obj && obj.name == 'province' ) //เมื่อทำการเลือที่จังหวัดมา ให้เคลียร์ค่าอำเภอ
{
var amphur = "";
}
else //เลือกรายการอื่น
{
var amphur = document.getElementById( 'amphur' ).value;
};
var data = "province=" + province + "&amphur=" + amphur + "&tumbon=" + tumbon;
req.onreadystatechange = function()
{
if ( req.readyState == 4 )
{
if ( req.status == 200 )
{
var datas = eval( '(' + req.responseText + ')' ); // JSON
document.getElementById( 'provinceDiv' ).innerHTML = datas[0].province;
document.getElementById( 'amphurDiv' ).innerHTML = datas[0].amphur;
document.getElementById( 'tumbonDiv' ).innerHTML = datas[0].tumbon;
};
};
};
req.open( "post" , "province.php" , true ); //สร้าง connection
req.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" ); // set Header
req.send( data ); //ส่งค่า
};

//โหลดครั้งแรก
window.onload = function()
{
dochange( '' );
};
</script>
</body>
</html>

ส่วนฐานข้อมูลเป็น MySql ดาวน์โหลดตามไฟล์ที่แนบมาครับผม แล้วฐานข้อมูลลงแล้ว ลองรันไฟล์ index.php ดูนะจ๊ะ

ที่มา : http://www.goragod.com/


* province_utf_sql.rar (83.64 KB - ดาวน์โหลด 1564 ครั้ง.)
บันทึกการเข้า

ultraman_king
โปรแกรมเมอร์ฝึกหัด
*
ออฟไลน์ ออฟไลน์

เพศ: หญิง
กระทู้: 11


ความห่างไกลทำให้รู้ซึ่งว่า..มิตรภาพสำคัญขนาดไหน...


ดูรายละเอียด
« ตอบ #1 เมื่อ: December 01, 2009, 11:03 PM »
แบ่งปัน ตอบโดยอ้างถึงข้อความอ้างถึง

หลังจากที่พยายามอยู่นาน   

จนขณะนี้..จนมุมแล้ว   

คือ...ว่า

ต้องการเปลี่ยนให้ตรงกับฐานข้อมูลของตัวเอง

โดยมี  แฟ้มข้อมูลว่า  province  มี  2  ฟิลล์คือ   province_id  ,  province_name
             และแฟ้ม      amphur   มี  3  ฟิลล์คือ   amphur_id , amphur_name , province_id

ต้องเปลี่ยนตรงไหนบ้างค่ะ


ช่วยหน่อยน่ะค่ะ    


             
บันทึกการเข้า
Nathan_bc
อดีตกาลผ่านมาแล้วก็ช่างมัน
ทำเนียบรุ่น BC46
โปรแกรมเมอร์ระดับโคตรเทพ
*****
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 2875


ปัจจุบันยังชีพอยู่สู้ต่อไป

one_bc@hotmail.com 085-8383607
ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: December 02, 2009, 09:54 AM »
แบ่งปัน ตอบโดยอ้างถึงข้อความอ้างถึง

หลังจากที่พยายามอยู่นาน   

จนขณะนี้..จนมุมแล้ว   

คือ...ว่า

ต้องการเปลี่ยนให้ตรงกับฐานข้อมูลของตัวเอง

โดยมี  แฟ้มข้อมูลว่า  province  มี  2  ฟิลล์คือ   province_id  ,  province_name
             และแฟ้ม      amphur   มี  3  ฟิลล์คือ   amphur_id , amphur_name , province_id

ต้องเปลี่ยนตรงไหนบ้างค่ะ


ช่วยหน่อยน่ะค่ะ    


             
เดี๋ยวว่างๆดูให้นะครับ
บันทึกการเข้า

Nathan_bc
อดีตกาลผ่านมาแล้วก็ช่างมัน
ทำเนียบรุ่น BC46
โปรแกรมเมอร์ระดับโคตรเทพ
*****
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 2875


ปัจจุบันยังชีพอยู่สู้ต่อไป

one_bc@hotmail.com 085-8383607
ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: December 02, 2009, 10:43 PM »
แบ่งปัน ตอบโดยอ้างถึงข้อความอ้างถึง

หลังจากที่พยายามอยู่นาน   

จนขณะนี้..จนมุมแล้ว   

คือ...ว่า

ต้องการเปลี่ยนให้ตรงกับฐานข้อมูลของตัวเอง

โดยมี  แฟ้มข้อมูลว่า  province  มี  2  ฟิลล์คือ   province_id  ,  province_name
             และแฟ้ม      amphur   มี  3  ฟิลล์คือ   amphur_id , amphur_name , province_id

ต้องเปลี่ยนตรงไหนบ้างค่ะ


ช่วยหน่อยน่ะค่ะ    


             

ลองเปลี่ยนโค๊ดมาเป็นแบบนี้ดูครับ

ในไฟล์ province.php

ค้นหาโค๊ด
โค๊ด:
//ให้คืนค่าจังหวัดไว้เป็นอันดับแรก
$sql = "SELECT id, name FROM province";
$result = mysql_query( $sql );
echo "[{\"province\":\"";
echo "<label for='province'>จังหวัด :</label>";
echo "<select name='province' id='province' onchange='dochange(this)'>";
echo "<option value='0'>--กรุณาเลือกจังหวัด--</option>";
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[id];
$name = $fetcharr[name];

แล้วแทนที่ด้วย
โค๊ด:
//ให้คืนค่าจังหวัดไว้เป็นอันดับแรก
$sql = "SELECT province_id, province_name FROM province";
$result = mysql_query( $sql );
echo "[{\"province\":\"";
echo "<label for='province'>จังหวัด :</label>";
echo "<select name='province' id='province' onchange='dochange(this)'>";
echo "<option value='0'>--กรุณาเลือกจังหวัด--</option>";
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[province_id];
$name = $fetcharr[province_name];



และค้นหาโค๊ด
โค๊ด:
echo "<option value='0'>--กรุณาเลือกอำเภอ--</option>";
$sql = "SELECT id, name FROM amphur WHERE provinceID='$province'";
$result = mysql_query( $sql );
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[id];
$name = $fetcharr[name];

แล้วแทนที่ด้วย
โค๊ด:
echo "<option value='0'>--กรุณาเลือกอำเภอ--</option>";
$sql = "SELECT amphur_id, amphur_name FROM amphur WHERE province_id='$province'";
$result = mysql_query( $sql );
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[amphur_id];
$name = $fetcharr[amphur_name];


แค่นี้ก็ได้แล้วครับ
บันทึกการเข้า

ultraman_king
โปรแกรมเมอร์ฝึกหัด
*
ออฟไลน์ ออฟไลน์

เพศ: หญิง
กระทู้: 11


ความห่างไกลทำให้รู้ซึ่งว่า..มิตรภาพสำคัญขนาดไหน...


ดูรายละเอียด
« ตอบ #4 เมื่อ: December 02, 2009, 11:03 PM »
แบ่งปัน ตอบโดยอ้างถึงข้อความอ้างถึง

ขอบคุณมาก ๆๆๆๆๆๆ....ค่ะ   

พี่นาธาน....คนโก้

หน้าตาดี...แล้วยังใจดี..หลาย หลาย   
บันทึกการเข้า
Nathan_bc
อดีตกาลผ่านมาแล้วก็ช่างมัน
ทำเนียบรุ่น BC46
โปรแกรมเมอร์ระดับโคตรเทพ
*****
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 2875


ปัจจุบันยังชีพอยู่สู้ต่อไป

one_bc@hotmail.com 085-8383607
ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: December 03, 2009, 09:05 AM »
แบ่งปัน ตอบโดยอ้างถึงข้อความอ้างถึง

ขอบคุณมาก ๆๆๆๆๆๆ....ค่ะ   

พี่นาธาน....คนโก้

หน้าตาดี...แล้วยังใจดี..หลาย หลาย   
ฮ่าๆๆ สบายครับ
บันทึกการเข้า

LhinLhin
ทำเนียบรุ่น BC46
โปรแกรมเมอร์ระดับเซียน
*****
ออฟไลน์ ออฟไลน์

เพศ: หญิง
กระทู้: 242


ส(ล) า ว ข อ น แ ก่ น

087-9559499
ดูรายละเอียด อีเมล์
« ตอบ #6 เมื่อ: January 23, 2010, 09:55 PM »
แบ่งปัน ตอบโดยอ้างถึงข้อความอ้างถึง

นาธานที่รัก 

จากตัวอย่างข้างบน  มันเป้น 3 selected  แล้ว  ๆๆ  ทีนีเค้าอยากทำแค่ 2 Selected  โดยตัด ตำลบออก  ให้เหลือแค่ จังหวัดและก็ อำเภอ

เค้าลองตัดโค๊ด ข้างบน ในส่วนของ ตำบลออก  แต่ ปรากฏว่า  มันไมขึ้นอาไรเลยย  โอ๊ยยยยยยยย  สวยเครียสสสสสสส

หน้า Province.php
โค๊ด:
<?
header( "Expires: Sat, 1 Jan 2005 00:00:00 GMT" );
header( "Last-Modified: ".gmdate( "D, d M Y H:i:s" )."GMT" );
header( "Cache-Control: no-cache, must-revalidate" );
header( "Pragma: no-cache" );
header( "content-type: application/x-javascript; charset=UTF-8" );

$province = $_POST[province];
$amphur = $_POST[amphur];


$hostname_conn = "localhost";
$username_conn = "root";
$password_conn = "1234";
$database_conn = "stu";
mysql_connect( $hostname_conn , $username_conn , $password_conn ) or die( "เชื่อมต่อฐานข้อมูลไม่ได้" );
mysql_select_db( $database_conn ) or die( "เลือกฐานข้อมูลไม่ได้" ); // เลือกฐานข้อมูล
      mysql_query("SET character_set_results=utf8");
      mysql_query("SET character_set_client='utf8'");
      mysql_query("SET character_set_connection='utf8'");
      mysql_query("collation_connection = utf8_unicode_ci");
      mysql_query("collation_database = utf8_unicode_ci");
      mysql_query("collation_server = utf8_unicode_ci");

//ให้คืนค่าจังหวัดไว้เป็นอันดับแรก
$sql = "SELECT id, name FROM province";
$result = mysql_query( $sql );
echo "[{\"province\":\"";
echo "<label for='province'>จังหวัด :</label>";
echo "<select name='province' id='province' onchange='dochange(this)'>";
echo "<option value='0'>--กรุณาเลือกจังหวัด--</option>";
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[id];
$name = $fetcharr[name];
echo "<option value='$id'";
if ( $province == $id ) //เลือกจังหวัดที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
echo "</select>\",\"amphur\":\"";

echo "<label for='amphur'>อำเภอ :</label>";
echo "<select name='amphur' id='amphur'";
//ถ้ามีการเลือกจังหวัดมาแล้วให้แสดงอำเภอต่อ
if ( $province != "0" && $province != "" )
{
echo "<option value='0'>--กรุณาเลือกอำเภอ--</option>";
$sql = "SELECT id, name FROM amphur WHERE provinceID='$province'";
$result = mysql_query( $sql );
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[id];
$name = $fetcharr[name];
echo "<option value='$id'";
if ( $amphur == $id ) //เลือกอำเภอที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
}
else
{
echo "<option value=''>--------------</option>";
};

echo "</select>\",\"tumbon\":\"";



mysql_close();
?>
หน้า  index.php
โค๊ด:

<?   
//ค่าที่ได้รับมาจากการ Submit

   
echo "<form action=\"?\" method=\"post\">\n";
echo '<span id="provinceDiv">';
echo "<label for=\"province\">จังหวัด :</label><select name=\"province\" id=\"province\" onchange=\"dochange('province')\">\n";
echo "<option value=\"$province\">--------------</option> \n" ;
echo "</select></span>\n";
   
echo '<span id="amphurDiv">';
echo "<label for=\"amphur\">อำเภอ :</label><select name=\"amphur\" id=\"amphur\">\n";
echo "<option value=\"$amphur\">--------------</option> \n" ;
echo "</select></span>\n";
   

 

echo "</form>\n";

?>
<script type="text/javascript">
//AJAX
function Inint_AJAX()
{
try
{
return new ActiveXObject( "Msxml2.XMLHTTP" );
}
catch ( e )
{
};

try
{
return new ActiveXObject( "Microsoft.XMLHTTP" );
}
catch ( e )
{
};

try
{
return new XMLHttpRequest();
}
catch ( e )
{
};

alert( "XMLHttpRequest not supported" );
return null;
};

function dochange( obj )
{
var req = Inint_AJAX();
var province = document.getElementById( 'province' ).value;

if ( obj && obj.name == 'province' ) //เมื่อทำการเลือที่จังหวัดมา ให้เคลียร์ค่าอำเภอ
{
var amphur = "";
}
else //เลือกรายการอื่น
{
var amphur = document.getElementById( 'amphur' ).value;
};
var data = "province=" + province + "&amphur=" + amphur ;
req.onreadystatechange = function()
{
if ( req.readyState == 4 )
{
if ( req.status == 200 )
{
var datas = eval( '(' + req.responseText + ')' ); // JSON
document.getElementById( 'provinceDiv' ).innerHTML = datas[0].province;
document.getElementById( 'amphurDiv' ).innerHTML = datas[0].amphur;
document.getElementById( 'tumbonDiv' ).innerHTML = datas[0].tumbon;
};
};
};
req.open( "post" , "province.php" , true ); //สร้าง connection
req.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" ); // set Header
req.send( data ); //ส่งค่า
};

//โหลดครั้งแรก
window.onload = function()
{
dochange( '' );
};
</script>


น๊าๆๆๆๆๆๆๆๆ  นาธาน  คนดี๊ คนดี   
« แก้ไขครั้งสุดท้าย: January 23, 2010, 10:02 PM โดย LhinLhin » บันทึกการเข้า
Nathan_bc
อดีตกาลผ่านมาแล้วก็ช่างมัน
ทำเนียบรุ่น BC46
โปรแกรมเมอร์ระดับโคตรเทพ
*****
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 2875


ปัจจุบันยังชีพอยู่สู้ต่อไป

one_bc@hotmail.com 085-8383607
ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: January 26, 2010, 09:24 AM »
แบ่งปัน ตอบโดยอ้างถึงข้อความอ้างถึง

นาธานที่รัก 

จากตัวอย่างข้างบน  มันเป้น 3 selected  แล้ว  ๆๆ  ทีนีเค้าอยากทำแค่ 2 Selected  โดยตัด ตำลบออก  ให้เหลือแค่ จังหวัดและก็ อำเภอ

เค้าลองตัดโค๊ด ข้างบน ในส่วนของ ตำบลออก  แต่ ปรากฏว่า  มันไมขึ้นอาไรเลยย  โอ๊ยยยยยยยย  สวยเครียสสสสสสส

หน้า Province.php
โค๊ด:
<?
header( "Expires: Sat, 1 Jan 2005 00:00:00 GMT" );
header( "Last-Modified: ".gmdate( "D, d M Y H:i:s" )."GMT" );
header( "Cache-Control: no-cache, must-revalidate" );
header( "Pragma: no-cache" );
header( "content-type: application/x-javascript; charset=UTF-8" );

$province = $_POST[province];
$amphur = $_POST[amphur];


$hostname_conn = "localhost";
$username_conn = "root";
$password_conn = "1234";
$database_conn = "stu";
mysql_connect( $hostname_conn , $username_conn , $password_conn ) or die( "เชื่อมต่อฐานข้อมูลไม่ได้" );
mysql_select_db( $database_conn ) or die( "เลือกฐานข้อมูลไม่ได้" ); // เลือกฐานข้อมูล
      mysql_query("SET character_set_results=utf8");
      mysql_query("SET character_set_client='utf8'");
      mysql_query("SET character_set_connection='utf8'");
      mysql_query("collation_connection = utf8_unicode_ci");
      mysql_query("collation_database = utf8_unicode_ci");
      mysql_query("collation_server = utf8_unicode_ci");

//ให้คืนค่าจังหวัดไว้เป็นอันดับแรก
$sql = "SELECT id, name FROM province";
$result = mysql_query( $sql );
echo "[{\"province\":\"";
echo "<label for='province'>จังหวัด :</label>";
echo "<select name='province' id='province' onchange='dochange(this)'>";
echo "<option value='0'>--กรุณาเลือกจังหวัด--</option>";
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[id];
$name = $fetcharr[name];
echo "<option value='$id'";
if ( $province == $id ) //เลือกจังหวัดที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
echo "</select>\",\"amphur\":\"";

echo "<label for='amphur'>อำเภอ :</label>";
echo "<select name='amphur' id='amphur'";
//ถ้ามีการเลือกจังหวัดมาแล้วให้แสดงอำเภอต่อ
if ( $province != "0" && $province != "" )
{
echo "<option value='0'>--กรุณาเลือกอำเภอ--</option>";
$sql = "SELECT id, name FROM amphur WHERE provinceID='$province'";
$result = mysql_query( $sql );
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[id];
$name = $fetcharr[name];
echo "<option value='$id'";
if ( $amphur == $id ) //เลือกอำเภอที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
}
else
{
echo "<option value=''>--------------</option>";
};

echo "</select>\",\"tumbon\":\"";



mysql_close();
?>
หน้า  index.php
โค๊ด:

<?   
//ค่าที่ได้รับมาจากการ Submit

   
echo "<form action=\"?\" method=\"post\">\n";
echo '<span id="provinceDiv">';
echo "<label for=\"province\">จังหวัด :</label><select name=\"province\" id=\"province\" onchange=\"dochange('province')\">\n";
echo "<option value=\"$province\">--------------</option> \n" ;
echo "</select></span>\n";
   
echo '<span id="amphurDiv">';
echo "<label for=\"amphur\">อำเภอ :</label><select name=\"amphur\" id=\"amphur\">\n";
echo "<option value=\"$amphur\">--------------</option> \n" ;
echo "</select></span>\n";
   

 

echo "</form>\n";

?>
<script type="text/javascript">
//AJAX
function Inint_AJAX()
{
try
{
return new ActiveXObject( "Msxml2.XMLHTTP" );
}
catch ( e )
{
};

try
{
return new ActiveXObject( "Microsoft.XMLHTTP" );
}
catch ( e )
{
};

try
{
return new XMLHttpRequest();
}
catch ( e )
{
};

alert( "XMLHttpRequest not supported" );
return null;
};

function dochange( obj )
{
var req = Inint_AJAX();
var province = document.getElementById( 'province' ).value;

if ( obj && obj.name == 'province' ) //เมื่อทำการเลือที่จังหวัดมา ให้เคลียร์ค่าอำเภอ
{
var amphur = "";
}
else //เลือกรายการอื่น
{
var amphur = document.getElementById( 'amphur' ).value;
};
var data = "province=" + province + "&amphur=" + amphur ;
req.onreadystatechange = function()
{
if ( req.readyState == 4 )
{
if ( req.status == 200 )
{
var datas = eval( '(' + req.responseText + ')' ); // JSON
document.getElementById( 'provinceDiv' ).innerHTML = datas[0].province;
document.getElementById( 'amphurDiv' ).innerHTML = datas[0].amphur;
document.getElementById( 'tumbonDiv' ).innerHTML = datas[0].tumbon;
};
};
};
req.open( "post" , "province.php" , true ); //สร้าง connection
req.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" ); // set Header
req.send( data ); //ส่งค่า
};

//โหลดครั้งแรก
window.onload = function()
{
dochange( '' );
};
</script>


น๊าๆๆๆๆๆๆๆๆ  นาธาน  คนดี๊ คนดี   
พึ่งกลับจากเที่ยวมาเจ้ เดี๋ยวตอนเย็นสิเบิงให้เด้ออออ
บันทึกการเข้า

purelife
บุคคลทั่วไป


อีเมล์
« ตอบ #8 เมื่อ: December 04, 2010, 12:37 AM »
แบ่งปัน ตอบโดยอ้างถึงข้อความอ้างถึง

อยากทราบว่าทำอย่างไร ให้มันส่งค่าเป็นชื่อ จังหวัด อำเภอ ตำบล แทน ID
คืออยากให้มันเก็บเป็นชื่อ จังหวัด อำเภอ ตำบล ลงในฐานข้อมูล
รบกวนช่วยหน่อยครับ
ขอขอบคุณล่วงหน้าครับ
บันทึกการเข้า
kidnakub22
โปรแกรมเมอร์ฝึกหัด
*
ออฟไลน์ ออฟไลน์

กระทู้: 1


ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: December 05, 2010, 12:17 AM »
แบ่งปัน ตอบโดยอ้างถึงข้อความอ้างถึง

ขอบคุณครับ
บันทึกการเข้า
kookkai25
โปรแกรมเมอร์ฝึกหัด
*
ออฟไลน์ ออฟไลน์

กระทู้: 1


ดูรายละเอียด เว็บไซต์ อีเมล์
« ตอบ #10 เมื่อ: January 06, 2011, 10:25 PM »
แบ่งปัน ตอบโดยอ้างถึงข้อความอ้างถึง

ขอรับมาเก็บเอาไว้ก่อนเลยน่ะครับ พยายาม หาอยู่นานเหมือนกันครับ ว่าจะมีมั้ย สำหรับ สคริปต์ ที่ทำไว้เพื่อเลือกจังหวัดอะไรพวกนี้ จะได้ไม่ต้องให้ ผู้ใช้ กรอก ข้อมูลที่ไม่ถูกต้องเข้ามา ลดเวลาการใส่ข้อมูลได้เยอะเลยครับ
บันทึกการเข้า
thk
บุคคลทั่วไป


อีเมล์
« ตอบ #11 เมื่อ: October 07, 2011, 01:55 AM »
แบ่งปัน ตอบโดยอ้างถึงข้อความอ้างถึง

thk
บันทึกการเข้า
mkawee
บุคคลทั่วไป


อีเมล์
« ตอบ #12 เมื่อ: February 01, 2013, 10:30 AM »
แบ่งปัน ตอบโดยอ้างถึงข้อความอ้างถึง

  ขอบคุณมากนะคร๊าา
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
  ตอบ  |  ส่งหัวข้อนี้  |  พิมพ์  
 
กระโดดไป:  


Valid XHTML 1.0! Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC | Thai language by ThaiSMF
DSM: deruni
Valid CSS!
หน้านี้ถูกสร้างขึ้นภายในเวลา 0.159 วินาที กับ 24 คำสั่ง
สัญญาอนุญาตของครีเอทีฟคอมมอนส์
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกัน 3.0 ประเทศไทย.