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 : 092254



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



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




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







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-03-12 08:17:22 By : mut2551 View : 3378 Reply : 6
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

ลองดูครับ



Go to : สร้าง Dependent ListMenu เลือกข้อมูลหลักและข้อมูลย่อยเปลี่ยนตามหัวข้อหลัก






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-12 08:50:33 By : mr.win
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2013-03-12 08:50:33
รายละเอียดของการตอบ ::
พยายามแล้วครับ แต่เมื่อเลือกประเภทห้องแล้ว หมายเลขห้องก็ไม่ขึ้น
ไม่ทราบว่า primary key ของผมที่เก็บเป็นchar เป็นเหตุหรือปล่าวครับ


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" />
<?php
@session_start();
	include "connectdb.php";
?>
<title>ThaiCreate.Com ListMenu</title>
<script language = "JavaScript">

		function ListNo(SelectValue)
		{
			frmMain.ddlRoom.length = 0

			//*** Insert null Default Value ***//
			var myOption = new Option('','')  
			frmMain.ddlRoom.options[frmMain.ddlRoom.length]= myOption
			
			<?
			$intRows = 0;
			$strSQL = "SELECT * FROM room ORDER BY Room_Number ASC ";
			$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
			$intRows = 0;
			while($objResult = mysql_fetch_array($objQuery))
			{
			$intRows++;
			?>
				x = <?=$intRows;?>;
				mySubList = new Array();
				
				strGroup = <?=$objResult["RoomType_ID"];?>;
				strValue = "<?=$objResult["Room_Number"];?>";
				strItem = "<?=$objResult["Room_Number"];?>";
				mySubList[x,0] = strItem;
				mySubList[x,1] = strGroup;
				mySubList[x,2] = strValue;
							
				if (mySubList[x,1] == SelectValue){
					var myOption = new Option(mySubList[x,0], mySubList[x,2])  
					frmMain.ddlRoom.options[frmMain.ddlRoom.length]= myOption					
				}
			<?
			}
			?>																	
		}

		
</script>


</head>
<form name="frmMain" action="" method="post">
	Type 
	<select id="ddlType" name="ddlType" onChange = "ListNo(this.value)">
	<option selected value=""></option>
	<?
	$strSQL = "SELECT * FROM roomtype ORDER BY RoomType_ID ASC ";
	$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
	while($objResult = mysql_fetch_array($objQuery))
	{
	?>
	<option value="<?=$objResult["RoomType_ID"];?>"><?=$objResult["Room_Type"];?></option>
	<?
	}
	?>
	</select>

	Room
	<select id="ddlRoom" name="ddlRoom" style="width:120px"></select>
</form>
</body>
</html>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-12 10:20:58 By : mut2551
 

 

No. 3



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



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


ตอนนี้ยังทำไม่ได้เลยครับ ลอง 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
 


 

No. 4



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



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


มีใครพอจะช่วยได้ไหมครับ งมมาหลายวันละครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-13 23:10:56 By : mut2551
 


 

No. 5



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



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

ลองศึกษาจากอันนี้ดูครับ

https://www.thaicreate.com/php/forum/051357.html

แล้วก็ตัวอย่างจาก https://www.thaicreate.com/community/dependant-listmenu-dropdownlist.html

อันนี้นะครับ ผมก็เคยใช้อยู่แต่ไม่ใช้จังหวัด อำเภอ ถ้าจะแก้ไข ผมแนะนำให้ลองโหลดตัวไฟล์นี้ไม้ใช้ดูเลยครับ พร้อมๆ กับตัวฐานข้อมูล
แล้วลองศึกษาโค้ดดู ถ้าจะใช้เพียงแค่ดูโค้ดจากกน้าเว็บอย่างเดียว บ้างทีคงจะทำไม่ได้หรอกครับ ต้องลองเล่นดูจากตัวอย่างโดยตรงแล้วปรับแก้ทีละส่วนจนเข้าใจการทำงานและส่งค่าครับ ต้องนั่งแก้ค่าตัวแปรทีละตัวๆ เด๋วก็ได้ครับ


ประวัติการแก้ไข
2013-03-14 23:11:17
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-14 23:06:27 By : akkaneetha
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : akkaneetha เมื่อวันที่ 2013-03-14 23:06:27
รายละเอียดของการตอบ ::
แสดงผลแล้ว ขอบคุณมากครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-15 04:53:10 By : mut2551
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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 03
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 อัตราราคา คลิกที่นี่