Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > สอบถามเรื่อง DropDown List ที่ใช้เลือกจังหวัด อำเภอ ตำบลค่ะ อยากให้แสดงสามอันภายในไฟล์เดียวกันค่ะ



 

สอบถามเรื่อง DropDown List ที่ใช้เลือกจังหวัด อำเภอ ตำบลค่ะ อยากให้แสดงสามอันภายในไฟล์เดียวกันค่ะ

 



Topic : 075253



โพสกระทู้ ( 24 )
บทความ ( 0 )



สถานะออฟไลน์




นี่เป็นตัวอย่าง ของ code นะคะ เราก็หาจากอากู๋เอาละค่ะ อิอิ

ไฟล์ province.php

Code
<?
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 = "1234";
$database_conn = "dblearning";
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
Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

<?

$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 "<select name=\"province\" id=\"province\" onchange=\"dochange('province')\">\n" ;
echo "</select></span>\n";

echo '<span id="amphurDiv">';
echo "<select name=\"amphur\" id=\"amphur\" onchange=\"dochange('amphur')\">\n";
echo "</select></span>\n";

echo '<span id="tumbonDiv">';
echo "<select name=\"tumbon\" id=\"tumbon\">\n"; //รายการสุดท้ายไม่ต้องมี event แล้ว
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>



ผลลัพธ์ที่ได้ก็จะเป็นแบบนี้นะคะ

ผลลัพธ์ไฟล์ index.php

แต่เราอยากให้ภายในไฟล์ index มี dropdown list สามอันค่ะในไฟล์เดียวกัน ไม่ทราบว่าทำได้หรือเปล่าค่ะ ต้องไปแก้ไข code ตรงส่วนไหน ไม่ทราบจริง ๆ ค่ะ วานผู้รู้ช่วยดูให้หน่อยนะค่าา

แบบนี้ค่ะ



Tag : PHP, JavaScript, Web (ASP.NET)









ประวัติการแก้ไข
2012-03-09 15:10:29
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-03-09 15:08:33 By : noon_ View : 8990 Reply : 2
 

 

No. 1



โพสกระทู้ ( 270 )
บทความ ( 0 )



สถานะออฟไลน์


ทำได้ครับ เอาตัวนี้ไปดัดแปลงจะง่ายกว่าครับ

https://www.thaicreate.com/community/dependant-listmenu-dropdownlist.html

ถ้าเราต้องการให้มี 3 ค่าเราก็เพ่ิมในส่วนของ javascript ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-09 19:51:14 By : 000su000
 


 

No. 2



โพสกระทู้ ( 24 )
บทความ ( 0 )



สถานะออฟไลน์


ดีใจจังที่มีคนมาช่วย เดี๋ยวจะลองทำดูค่ะ ขอบคุณมากๆค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-10 22:22:14 By : noon_
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่อง DropDown List ที่ใช้เลือกจังหวัด อำเภอ ตำบลค่ะ อยากให้แสดงสามอันภายในไฟล์เดียวกันค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่