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,027

HOME > PHP > PHP Forum > สอบถามเกี่ยวกับ Dependent DropDownList/ListMenu USING JSON



 

สอบถามเกี่ยวกับ Dependent DropDownList/ListMenu USING JSON

 



Topic : 100351



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



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




ผมติดปัญหา select ที่ 2 และ select ที่ 3 ไม่ขึ้นข้อมูลใน select option ครับ ไม่ทราบว่าผมพลาดส่วนไหน ผมจำเป็นต้องใช้ครับ

ดังรูป
รูป

search1.php
Code (PHP)
<?php
// Load jQuery library from google.
$jqLib = 'https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js';

// Create connection connect to mysql database
$dbCon = mysql_connect('localhost', 'root', '1234') or die (mysql_error());

// Select database.
mysql_select_db('myweb', $dbCon) or die (mysql_error());

// Set encoding.
mysql_query('SET NAMES UTF8');

?>
<!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></title>
<script type="text/javascript" src="<?php echo $jqLib; ?>"></script>
<script type="text/javascript">
 // Specify a function to execute when the DOM is fully loaded.
$(function(){
	var defaultOption = '<option value=""> ------- เลือก ------ </option>';
	var loadingImage  = '<img src="images/loading4.gif" alt="loading" />';
	// Bind an event handler to the "change" JavaScript event, or trigger that event on an element.
	$('#selFaculty').change(function() {
		$("#selYear").html(defaultOption);
		$("#selCourse").html(defaultOption);
		// Perform an asynchronous HTTP (Ajax) request.
		$.ajax({
			// A string containing the URL to which the request is sent.
			url: "search2.php",
			// Data to be sent to the server.
			data: ({ nextList : 'year', FacultyName: $('#selProvince').val() }),
			// The type of data that you're expecting back from the server.
			dataType: "json",
			// beforeSend is called before the request is sent
			beforeSend: function() {
				$("#waitYear").html(loadingImage);
			},
			// success is called if the request succeeds.
			success: function(json){
				$("#waitYear").html("");
				// Iterate over a jQuery object, executing a function for each matched element.
				$.each(json, function(index, value) {
					// Insert content, specified by the parameter, to the end of each element
					// in the set of matched elements.
					 $("#selYear").append('<option value="' + value.OperateYear + 
											'">' + value.OperateYear + '</option>');
				});
			}
		});
	});
	
	$('#selYear').change(function() {
		$("#selCourse").html(defaultOption);
		$.ajax({
			url: "search2.php",
			data: ({ nextList : 'course', OperateYear: $('#selYear').val() }),
			dataType: "json",
			beforeSend: function() {
				$("#waitCourse").html(loadingImage);
			},
			success: function(json){
				$("#waitCourse").html("");
				$.each(json, function(index, value) {
					 $("#selCourse").append('<option value="' + value.ProgramName + 
											'">' + value.ProgramName + '</option>');
				});
			}
		});
	});
});
</script>
<style type="text/css">
	body {
		font-family: Verdana, Geneva, sans-serif;
		font-size: 13px;
	}
</style>
</head>

<body>
	<label>จังหวัด : </label>
    <select id="selFaculty">
    	<option value=""> ------- เลือก ------ </option>
        <?php
			$result = mysql_query("
				SELECT
					DISTINCT FacultyName
				FROM 
					nsru_course
				ORDER BY FacultyID ASC;
			");
			
			while($row = mysql_fetch_assoc($result)){
				echo '<option value="', $row['FacultyName'], '">', $row['FacultyName'],'</option>';
			}
		?>
    </select>
        
    <label>อำเภอ : </label>
    <select id="selYear">
    	<option value=""> ------- เลือก ------ </option>
    </select><span id="waitYear"></span>
    
    <label>ตำบล : </label>
    <select id="selCourse">
    	<option value=""> ------- เลือก ------ </option>
    </select><span id="waitCourse"></span>
</body>
</html>


search2.php
Code (PHP)
<?php
// Set delay 1 second. 
sleep(1);

// Create connection connect to mysql database
$dbCon = mysql_connect('localhost', 'root', '1234') or die (mysql_error());

// Select database.
mysql_select_db('myweb', $dbCon) or die (mysql_error());

// Set encoding.
mysql_query('SET NAMES UTF8');

// Next dropdown list.
$nextList = isset($_GET['nextList']) ? $_GET['nextList'] : '';

switch($nextList) {
	case 'year':
		$faculty = isset($_GET['FacultyName']) ? $_GET['FacultyName'] : '';
		$result = mysql_query("
			SELECT
				DISTINCT OperateYear
			FROM
				nsru_course
			WHERE FacultyName = '{$faculty}'
			ORDER BY OperateYear ASC;
		");
		break;
	case 'course':
		$faculty = isset($_GET['FacultyName']) ? $_GET['FacultyName'] : '';
		$year = isset($_GET['OperateYear']) ? $_GET['OperateYear'] : '';
		$result = mysql_query("
			SELECT
				DISTINCT ProgramName
			FROM
				nsru_course
			WHERE FacultyName = '{$faculty}' AND OperateYear = '{$year}'
			;
		");
		break;
}

$data = array();
while($row = mysql_fetch_assoc($result)) {
	$data[] = $row;
}

// Print the JSON representation of a value
echo json_encode($data);
?>


ชวยทีครับ ผมจำเป็นต้องใช้จริงๆ

อ้างอิงจาก : https://www.thaicreate.com/php/forum/051357.html



Tag : PHP, MySQL, JavaScript, Ajax









ประวัติการแก้ไข
2013-09-11 21:21:27
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-09-11 20:53:23 By : angelkiller9 View : 1545 Reply : 6
 

 

No. 1



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



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


ลอง alert หรือ console.log ดู บันทัดที่ 50 ดูก่อนว่า มันส่งอะไรเข้ามา ไหม ตรวจสอบทีละอย่าง ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-11 21:24:19 By : yamcrocodile
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : yamcrocodile เมื่อวันที่ 2013-09-11 21:24:19
รายละเอียดของการตอบ ::
เหมือนไม่มีค่าอะไรส่งมาเลยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-11 21:49:19 By : angelkiller9
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : yamcrocodile เมื่อวันที่ 2013-09-11 21:24:19
รายละเอียดของการตอบ ::
เจอแล้วครับ

ผมเปลี่ยนชื่อมันแล้วแก้ไม่หมดครับ - -"

Code (PHP)
data: ({ nextList : 'year', FacultyName: $('#selProvince').val() }),


ขออภัยในความสะเพร่าของผมครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-11 21:56:25 By : angelkiller9
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : angelkiller9 เมื่อวันที่ 2013-09-11 21:56:25
รายละเอียดของการตอบ ::
ความผิดพลาดคืออาจารย์ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-11 22:05:16 By : yamcrocodile
 


 

No. 5



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



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


ผมทำแบบนี้แล้ว มันขึ้นว่า Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\abcd\jsonAction.php on line 36
[] ต้องแก้ไขยังไงครับผม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-26 00:14:33 By : tongtang_sn
 


 

No. 6



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



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

$result = mysql_query($sql) or die ( mysql_error() . "<br>$sql");
if( mysql_num_rows($result)==0) exit("Record is empty");
while( $ro=mysql_fetch_assoc($result)){
......
ตรวจเช็ค error และจำนวน record ก่อน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-26 04:52:37 By : NewbiePHP
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเกี่ยวกับ Dependent DropDownList/ListMenu USING JSON
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
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 อัตราราคา คลิกที่นี่