|
|
|
สอบถามวิธีการดึงฐานข้อมูลมาแสดงยัง Combo Box แบบ 2 ระดับครับ |
|
|
|
|
|
|
|
Code (PHP)
<!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>
<script language=Javascript>
function comboselect(type,roomno) {
document.URL='?type='+type+'&roomno='+roomno;
}
</script>
</head>
<body>
<?php
@session_start();
include "connectdb.php";
$type=$_GET[type];
$roomno=$_GET[roomno];
//แสดงรายการประเภทห้องพัก
$sql="select * from roomtype order by RoomType_ID";
$query = mysql_query($sql);
echo "<select name=type onChange='comboselect(this.value, \"$roomno\")'>";
echo "<option>- เลือกประเภท -</option> ";
while ($fetcharr = mysql_fetch_array($query)) {
$val = $fetcharr['RoomType_ID'];
$label = $fetcharr['Room_Type'];
echo "<option value='$val'";
if ($val==$type) echo " selected"; //เลือกรายการที่ส่งมา
echo ">$label</option> ";
}
echo "</select>";
//แสดงหมายเลขห้อง ที่ตรงตามประเภทห้องพักที่เลือก
if ($type!='') {
$sql="select * from room where RoomType_ID = '$type'";
$query = mysql_query($sql);
echo "<select name=roomno onChange='comboselect(\"$type\", this.value)'>";
echo "<option>- เลือกหมายเลขห้อง-</option> ";
while ($fetcharr = mysql_fetch_array($query)) {
$val = $fetcharr['Room_Number'];
$label = $fetcharr['Room_Number'];
echo "<option value='$val'";
if ($val==$roomno) echo " selected"; //เลือกรายการที่ส่งมา
echo ">$label</option> ";
}
echo "</select>";
}
?>
</body>
</html>
Code (ฐานข้อมูล)
-----------------------------------------------------------------------------------------------
CREATE TABLE `roomtype` (
`RoomType_ID` char(3) collate utf8_unicode_ci NOT NULL,
`Room_Type` varchar(20) collate utf8_unicode_ci NOT NULL,
`Room_Price` int(4) NOT NULL,
PRIMARY KEY (`RoomType_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
-----------------------------------------------------------------------------------------------
CREATE TABLE `room` (
`Room_Number` char(4) collate utf8_unicode_ci NOT NULL,
`RoomType_ID` char(3) collate utf8_unicode_ci NOT NULL,
`Room_Status` char(1) collate utf8_unicode_ci NOT NULL,
`Person_Amount` int(1) NOT NULL,
PRIMARY KEY (`Room_Number`),
KEY `FK_room` (`RoomType_ID`),
CONSTRAINT `FK_room` FOREIGN KEY (`RoomType_ID`) REFERENCES `roomtype` (`RoomType_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
---------------------------------------------------------------------------------------------------------------------------------------
ไม่ทราบว่าผิดพลาด อะไรหรือต้องเพิ่มตรงไหนอีกหรือปล่าวครับ
ตอนนี้แสดงผลแค่ประเภทห้องพักแต่เมื่อเลือกจากcomboboxแล้ว หมายเลขห้องก็ไม่มีcomboboxขึ้นมาเลย จนปัญญาแล้วครับT^T
Tag : PHP, MySQL, JavaScript
|
|
|
|
|
|
Date :
2013-03-12 08:17:22 |
By :
mut2551 |
View :
3378 |
Reply :
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้ยังทำไม่ได้เลยครับ ลอง ajax + jquery สาระพัด พอเลือกค่าcombo boxแรก sub-combo box ก็ไม่มีข้อมูลแสดงขึ้นมาเลย
ผมลองสร้างฐานข้อมูลทดสอบที่primary key เป็น int ทำได้
แต่ฐานข้อมูลจริงผม primarykey เป็น Char ทำไม่ได้ครับ พอจะมีวิธีการแปลงไหมครับ
|
ประวัติการแก้ไข 2013-03-13 06:01:05
|
|
|
|
Date :
2013-03-13 04:46:21 |
By :
mut2551 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีใครพอจะช่วยได้ไหมครับ งมมาหลายวันละครับ
|
|
|
|
|
Date :
2013-03-13 23:10:56 |
By :
mut2551 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|