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 > ต้องการทำให้ combo box 2 อัน มีความเกี่ยวข้องกันคะ



 

ต้องการทำให้ combo box 2 อัน มีความเกี่ยวข้องกันคะ

 



Topic : 111931



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



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




ต้องการทำให้ combo box 2 อัน มีความเกี่ยวข้องกันคะ คือ

เช่น
ex. อันที่ 1 เลือก เชียงใหม่ อันที่ 2 จะต้องไม่มีเชียงใหม่ (ไม่สนใจการเรียง)
ex. อันที่ 2 เลือก น่าน อันที่ 1 จะต้องไม่มีน่าน (เชียงใหม่อยู่เป็นอันแรก)

ไม่ทราบว่าต้องทำอย่างไรคะ

Code (PHP)
<form id="form1" name="form1" method="post" action="">
  <p>From
	  <select id="routeFrom" name="routeFrom" required>
		<? 
			$sqlDep=mssql_query("SELECT DISTINCT r.route_code as routeCode, r.route_name as routeName, r.route_order
								  FROM ka_flight_sche s, ka_flight f LEFT JOIN ka_route r
									ON f.flight_from = r.route_code
								 WHERE s.flight_no = f.flight_no
								   AND s.flight_date > getdate()-1
								   AND r.route_active = 'Y'
								ORDER BY r.route_order");
			while($queryDep=mssql_fetch_array($sqlDep))
			{
			$i++;
			$routeName= iconv("tis-620","UTF-8",$queryDep[routeName]);
		?>
		  <option value="<? echo $queryDep[routeCode];?>" <? if($routeFrom==$queryDep[routeCode]){ echo "selected='selected'";} ?> ><? echo $routeName ?></option>
		<?
			}
		?></select>
    <br />
To
	<select id="routeTo" name="routeTo" required>
	<? 
		$sqlArr=mssql_query("SELECT DISTINCT r.route_code as routeCode, r.route_name as routeName, r.route_order
							  FROM ka_flight_sche s, ka_flight f LEFT JOIN ka_route r
								ON f.flight_to = r.route_code
							 WHERE s.flight_no = f.flight_no
							   AND r.route_active = 'Y'  
							   AND s.flight_date > getdate()-1
							ORDER BY r.route_order");
		while($queryArr=mssql_fetch_array($sqlArr))
		{
		$i++;
		$routeName= iconv("tis-620","UTF-8",$queryArr[routeName]);
	?>
	  <option value="<? echo $queryArr[routeCode];?>" <? if($routeTo==$queryArr[routeCode]){ echo "selected='selected'";} ?> ><? echo $routeName ?></option>
	<?
		}
	?>
	</select>
</p>
</form>




Tag : PHP, Ms SQL Server 2008, HTML/CSS, JavaScript, jQuery









ประวัติการแก้ไข
2014-10-14 14:55:28
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-10-14 14:54:54 By : Baitong_ch View : 866 Reply : 1
 

 

No. 1



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



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


ตอนนี้ที่ทำได้ก็คือ
ex. อันที่ 1 เลือก เชียงใหม่ อันที่ 2 จะต้องไม่มีเชียงใหม่ (ไม่สนใจการเรียง)

data.php
Code (PHP)
<form id="form1" name="form1" method="post" action="">
  <p>ตัวเลือกที่1
	<select name="list1" id="list1" data-placeholder="To" class="form-control i m-bot15" required>
		 <option value="">เลือกรายการ</option>
	<? 
		$sqlDep=mssql_query("SELECT DISTINCT r.route_code as routeCode, r.route_name as routeName, r.route_order
							  FROM ka_flight_sche s, ka_flight f LEFT JOIN ka_route r
								ON f.flight_from = r.route_code
							 WHERE s.flight_no = f.flight_no
							   AND s.flight_date > getdate()-1
							   AND r.route_active = 'Y'
							ORDER BY r.route_order");
		while($queryDep=mssql_fetch_array($sqlDep))
		{
		$i++;
		$routeName= iconv("tis-620","UTF-8",$queryDep[routeName]);
	?>
	  <option value="<? echo $queryDep[routeCode];?>" <? if($routeFrom==$queryDep[routeCode]){ echo "selected='selected'";} ?> ><? echo $routeName ?></option>
	<?
		}
	?></select>
    <br />
ตัวเลือกที่2
<select name="list2" id="list2" data-placeholder="To" class="form-control i m-bot15" required>
		 <option value="">เลือกรายการ</option>
	<? 
		$sqlDep=mssql_query("SELECT DISTINCT r.route_code as routeCode, r.route_name as routeName, r.route_order
							  FROM ka_flight_sche s, ka_flight f LEFT JOIN ka_route r
								ON f.flight_from = r.route_code
							 WHERE s.flight_no = f.flight_no
							   AND s.flight_date > getdate()-1
							   AND r.route_active = 'Y'
							ORDER BY r.route_order");
		while($queryDep=mssql_fetch_array($sqlDep))
		{
		$i++;
		$routeName= iconv("tis-620","UTF-8",$queryDep[routeName]);
	?>
	  <option value="<? echo $queryDep[routeCode];?>" <? if($routeFrom==$queryDep[routeCode]){ echo "selected='selected'";} ?> ><? echo $routeName ?></option>
	<?
		}
	?></select>
</p>
</form>
<script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
<script type="text/javascript">
$(function(){
	$("select#list1").change(function(){
		var datalist2 = $.ajax({	// รับค่าจาก ajax เก็บไว้ที่ตัวแปร datalist2
			  url: "data_for_list2.php", // ไฟล์สำหรับการกำหนดเงื่อนไข
			  data:"list1="+$(this).val(), // ส่งตัวแปร GET ชื่อ list1 ให้มีค่าเท่ากับ ค่าของ list1
			  async: false
		}).responseText;		
		$("select#list2").html(datalist2); // นำค่า datalist2 มาแสดงใน listbox ที่ 2 ที่ชื่อ list2
		// ชื่อตัวแปร และ element ต่างๆ สามารถเปลี่ยนไปตามการกำหนด
		});
	});
});
</script>


data_for_list2.php
Code (PHP)
<?php
header("Content-type: application/xhtml+xml; charset=utf-8"); 
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past

if(isset($_GET['list1']) && $_GET['list1']!=""){?>
  <?php
  $q="SELECT DISTINCT r.route_code as routeCode, r.route_name as routeName, r.route_order
  FROM ka_flight_sche s, ka_flight f LEFT JOIN ka_route r
	ON f.flight_from = r.route_code
 WHERE s.flight_no = f.flight_no
   AND s.flight_date > getdate()-1
   AND r.route_active = 'Y'
   AND r.route_code <> '$_GET[list1]'
ORDER BY r.route_order ";
  $qr=mssql_query($q);
  while($rs=mssql_fetch_array($qr)){
  ?>
  <option value="<?=$rs['routeCode']?>"><?=$rs['routeName']?></option>
  <? 
	}
}else{ ?>
  <option value="">เลือกรายการ</option>
<?php } ?>


ติดตรง
ex. อันที่ 2 เลือก น่าน อันที่ 1 จะต้องไม่มีน่าน (เชียงใหม่อยู่เป็นอันแรก)

ไม่ทราบว่าจะต้องกำหนดอย่างไร ขอคำแนะนำด้วยคะ








ประวัติการแก้ไข
2014-10-14 16:17:59
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-14 16:16:24 By : Baitong_ch
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ต้องการทำให้ combo box 2 อัน มีความเกี่ยวข้องกันคะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 02
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 อัตราราคา คลิกที่นี่