 |
ต้องการทำให้ combo box 2 อัน มีความเกี่ยวข้องกันคะ |
|
 |
|
|
 |
 |
|
ต้องการทำให้ 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
|
 |
 |
 |
 |
Date :
2014-10-14 14:54:54 |
By :
Baitong_ch |
View :
893 |
Reply :
1 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอนนี้ที่ทำได้ก็คือ
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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|