ขอวิธีการเขียน listbox โดยส่งค่าแบบ ajax

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
M030
PHP Super Hero Member
PHP Super Hero Member
Posts: 532
Joined: 07/09/2015 10:06 am

ขอวิธีการเขียน listbox โดยส่งค่าแบบ ajax

Post by M030 » 08/12/2015 6:19 pm

ขอวิธีการเขียน listbox โดยส่งค่าแบบ ajax หน่อยคะ เช่น ถ้าเราเลือกจังหวัดลำปาง แล้วต้องการให้กรองเอามาเฉพาะอำเภอที่อยู่ในจังหวัดลำปาง จะทำยังไงค่ะ

M031
PHP Hero Member
PHP Hero Member
Posts: 156
Joined: 20/11/2015 9:05 am

Re: ขอวิธีการเขียน listbox โดยส่งค่าแบบ ajax

Post by M031 » 09/12/2015 3:14 am

ไฟล์ทั้งหมดมี 4 ไฟล์คือ

config.php, function.php, index.php, jquery-2.1.4.min.js
อ้างอิง ฐานข้อมูลจาก
https://www.mindphp.com/forums/viewtopic ... 345#p72345
test.png
test.png (82.79 KiB) Viewed 1073 times
1. config.php

Code: Select all

<?php
$host = "localhost";
$user = "root";
$pass = "1234";
$db = "mdsoft";
$con = mysql_connect($host,$user,$pass);
if($con){
	$db = mysql_select_db($db);
}else{
	echo "Can't connect";
}
mysql_query('SET NAMES UTF8');
?>
config ต่างๆ ปรับให้เข้ากับฐานข้อมูลของเรา

2.function.php

Code: Select all

<?php
function queryprovince($sql){
	$query = mysql_query($sql);
	return $query;
}
function queryrowamphur(){
	$sql = 'select * from amphures';
	$query = mysql_query($sql);
	$queryrow = mysql_num_rows($query);
	return $queryrow;
}
function querystramphur(){
	$id = $_GET['provinces'];
	$sql = 'select * from amphures where PROVINCE_ID = '.$id.'  ';
	$query = mysql_query($sql);
	return $query;
}
?>
3. index.php

Code: Select all

<?php
include_once('config.php');
include_once('function.php');
?>

<html>
<head>
	<meta charset="UTF-8">
	<title>test test</title>
	<script src="jquery-2.1.4.min.js" type="text/javascript"></script>
</head>
<body>
	<select name="provinces" id="provinces">

		<?php

		$sql = queryprovince('select * from provinces');

		while($re = mysql_fetch_array($sql)){ ?>

		<option value="<?php echo $re['PROVINCE_ID']; ?>">

			<?php echo $re['PROVINCE_NAME']; ?>

		</option>

		<?php } ?>

	</select>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	<select name="amp" id="amp">

		<option value="0" disabled >กรุณาเลือกจังหวัด</option>

	</select>


	<?php
	$id =  $_POST['provinces'];

	if(isset($_GET['provinces'])){

		$sql = querystramphur($_GET['provinces']);

		$row = queryrowamphur();

		if ($row > 0) {

			$text = '<option disabled>'.'กรุณาเลือกจังหวัด'.'</option>';

			while ($amp = mysql_fetch_array($sql)) {

				echo '<option value='.$amp['AMPHUR_ID'].'>'.$amp['AMPHUR_NAME'].'</option>';
			}
		}
	}
	?>

	<script type="text/javascript">
	$(document).ready(function() {
		$('#provinces').change(function() {
			$.ajax({
				type: 'GET',
				data: {provinces: $(this).val()},
				url: 'index.php',
				success: function(data) {
					$('#amp').html(data);
				}
			});
		});
	});
	</script>

</body>
</html>
test1.PNG
test1.PNG (37.57 KiB) Viewed 1073 times
ตัวอย่างการเลือก จังหวัดลำปาง ก็จะแสดง show ข้อมูลอำเภอในจังหวัดลำปาง

thatsawan
PHP VIP Members
PHP VIP Members
Posts: 19823
Joined: 31/03/2014 10:02 am
Contact:

Re: ขอวิธีการเขียน listbox โดยส่งค่าแบบ ajax

Post by thatsawan » 09/12/2015 10:47 am

ถ้าเป็น phpBB ให้ไป ศึกษา ajax ของ phpBB ก่อนให้เข้าใจ
https://wiki.phpbb.com/Using_AJAX

ดูว่ามันจะทำยังไงเวลาใช้งาน php + jquery + ajax

User avatar
M030
PHP Super Hero Member
PHP Super Hero Member
Posts: 532
Joined: 07/09/2015 10:06 am

Re: ขอวิธีการเขียน listbox โดยส่งค่าแบบ ajax

Post by M030 » 09/12/2015 2:47 pm

ขอบคุณสำหรับคำตอบค่ะ :")

Post Reply

Return to “Programming - PHP”

Users browsing this forum: Baidu [Spider] and 22 guests