|
|
|
createElement('select') 2 ชั้น; สร้าง Element ของ Select Option พร้อมกับ ดึงข้อมูลจาก MySQL Database ครับ |
|
|
|
|
|
|
|
Code (PHP)
<? require_once("../connect.php");
mysql_select_db($db);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<script language = "JavaScript">
//**** List Subject (Start) ***//
function ListSubject(id)
{
frmMain.subject.length = 0
//*** Insert null Default Value ***//
var bl = document.getElementById("subject"+id);
var myOption = new Option('','');
bl.frmMain.subject.options[bl.frmMain.subject.length]= myOption;
<?
$intRows = 0;
$strSQL = "SELECT * FROM subject ";
$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["level_id"];?>;
strValue = "<?=$objResult["id"];?>";
strItem = "<?=$objResult["subject"];?>";
mySubList[x,0] = strItem;
mySubList[x,1] = strGroup;
mySubList[x,2] = strValue;
if (mySubList[x,1] == id){
//var bl=document.getElementById("subject"+id);
// หลังจากนี้คุณจะเพิ่ม,ลบ หรือจะ set ค่าก็จะไม่ผิดตัวแล้ว
// โดยการใช้ bl. เช่น
// bl.options[bl.options.length] = new Option("name","id"); เป็นการเพิ่มข้อมูล
var myOption = new Option(mySubList[x,0], mySubList[x,2]) ;
bl.frmMain.subject.options[bl.frmMain.subject.length]= myOption ;
}
<?
}
?>
}
//**** List Subject (End) ***//
</script>
</head>
<body>
<form name="frmMain" action="" method="post">
<?
// สร้าง Dropdownlist 10 ชุด
for($i=0; $i<10; ++$i){
echo $i.". ระดับชั้น : <select name=level".$i." id=level".$i." onChange='ListSubject(".$i.")'>";
?>
<option selected value=""></option>
<?
$strSQL = "SELECT * FROM level ORDER BY id ASC ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResult = mysql_fetch_array($objQuery))
{
?>
<option value="<?=$objResult["id"];?>"><?=$objResult["level"];?></option>
<?
}
?>
<?
echo"</select> วิชา : <select name=subject".$i." id=subject".$i.">";
echo"</select><br>";
}
?>
</br>
</form>
</body>
</html>
ช่วยหน่อยนะครับ ผมทำแล้ว แต่ วิชา มันไม่ยอมขึ้นเลย หรือว่า ผม ทำผิด แนะนำ หน่อย ครับ
Tag : PHP
|
|
|
|
|
|
Date :
2011-12-22 12:33:00 |
By :
sodasing |
View :
2428 |
Reply :
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตัวอย่างก้มีให้คุณดูน่ะครับ
|
|
|
|
|
Date :
2011-12-22 13:06:45 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แบบที่ตัวอย่างผมก้ทำได้แล้วครับ แต่ว่า ที่ทำไม่ได้คือ อยากให้มี เพิ่มแถว และลบแถวได้ด้วย ถ้าทำแถวเดียว มันก้ได้อยู่หรอก
|
|
|
|
|
Date :
2011-12-22 17:18:29 |
By :
sodasing |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com JavaScript Add/Remove Element</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<?
include ("../connect.php");
mysql_select_db($db) ;
$strSQL = "SELECT level,id FROM level";
$objQuery = mysql_query($strSQL);
?>
<script language="javascript">
function CreateSelectOption(ele)
{
var objSelect = document.getElementById(ele);
var Item = new Option("", "");
objSelect.options[objSelect.length] = Item;
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
var Item = new Option("<?=$objResult["level"];?>", "<?=$objResult["id"];?>");
objSelect.options[objSelect.length] = Item;
<?
}
?>
}
//**** List Subject (Start) ***//
function ListSubject(idi)
{
//frmMain.subject.length = 0
//*** Insert null Default Value ***//
var bl = document.getElementById(idi);
var myOption = new Option('','');
bl.options[bl.options.length]= myOption;
<?
$intRows = 0;
$strSQL = "SELECT * FROM subject ";
$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["level_id"];?>;
strValue = "<?=$objResult["id"];?>";
strItem = "<?=$objResult["subject"];?>";
mySubList[x,0] = strItem;
mySubList[x,1] = strGroup;
mySubList[x,2] = strValue;
if (mySubList[x,1] == idi){
//var bl=document.getElementById("subject"+id);
// หลังจากนี้คุณจะเพิ่ม,ลบ หรือจะ set ค่าก็จะไม่ผิดตัวแล้ว
// โดยการใช้ bl. เช่น
// bl.options[bl.options.length] = new Option("name","id"); เป็นการเพิ่มข้อมูล
var myOption = new Option(mySubList[x,0], mySubList[x,2]) ;
bl.options[bl.options.length]= myOption ;
}
<?
}
?>
}
//**** List Subject (End) ***//
function CreateNewRow()
{
var intLine = parseInt(document.frmMain.hdnMaxLine.value);
intLine++;
var theTable = document.getElementById("tbExp");
var newRow = theTable.insertRow(theTable.rows.length)
newRow.id = newRow.uniqueID
var newCell
//*** Column 1 ***//
newCell = newRow.insertCell(0);
newCell.id = newCell.uniqueID;
newCell.setAttribute("className", "css-name");
newCell.innerHTML = "<center><SELECT NAME=\"level_"+intLine+"\" ID=\"level_"+intLine+"\" onChange=ListSubject(\"subject_"+intLine+"\")></SELECT></center>";
//*** Create Option ***//
CreateSelectOption("level_"+intLine)
//*** Column 2 ***//
newCell = newRow.insertCell(1);
newCell.id = newCell.uniqueID;
newCell.setAttribute("className", "css-name");
newCell.innerHTML = "<center><SELECT NAME=\"subject_"+intLine+"\" id=\"subject_"+intLine+"\"></SELECT></center>";
ListSubject("subject_"+intLine)
document.frmMain.hdnMaxLine.value = intLine;
}
function RemoveRow()
{
intLine = parseInt(document.frmMain.hdnMaxLine.value);
if(parseInt(intLine) > 0)
{
theTable = document.getElementById("tbExp");
theTableBody = theTable.tBodies[0];
theTableBody.deleteRow(intLine);
intLine--;
document.frmMain.hdnMaxLine.value = intLine;
}
}
</script>
<body>
<form name="frmMain" method="post">
<table width="445" border="1" id="tbExp">
<tr>
<td><div align="center">คอร์ส </div></td>
<td><div align="center">วิชา </div></td>
</tr>
</table>
<input type="hidden" name="hdnMaxLine" value="0">
<input name="btnAdd" type="button" id="btnAdd" value="+" onClick="CreateNewRow();">
<input name="btnDel" type="button" id="btnDel" value="-" onClick="RemoveRow();">
</form>
</body>
</html>
อีกอันที่ผมลองทำดู มันก้ไม่ได้อีก ไปไม่เป็นเลย จริงๆครับ
|
|
|
|
|
Date :
2011-12-22 19:15:47 |
By :
sodasing |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|