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,038

HOME > PHP > PHP Forum > โค้ดJavaScript สร้าง selectbox ดึงข้อมูลจากฐานข้อมูล เมื่อกดปุ่ม create แล้วให้สร้าง selectbox อีกอัน ดัดแปลงมาจากการสร้าง textbox



 

โค้ดJavaScript สร้าง selectbox ดึงข้อมูลจากฐานข้อมูล เมื่อกดปุ่ม create แล้วให้สร้าง selectbox อีกอัน ดัดแปลงมาจากการสร้าง textbox

 



Topic : 051803



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



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




โค้ดJavaScript สร้าง selectbox ดึงข้อมูลจากฐานข้อมูล เมื่อกดปุ่ม create แล้วให้สร้าง selectbox อีกอัน ดัดแปลงมาจากการสร้าง textbox แต่รันแล้ว กลับเพิ่มเป็น textbox ต้องแก้ตรงไหนรบกวนดูทีค่ะ มีรูปและโค้ดให้ดูด้วย

ภาพการรันค่ะ
15

พอกด ปุ่ม create ดู

16


1. นี่โค้ดนะค่ะ ต้องการให้เมื่อกด ปุ่ม create แล้ว เพิ่ม selectbox ให้อีกอัน หรือเมื่อกดปุ่ม Delete ก็ลบได้ แต่มันกลับเพิ่มเป็น textbox ให้ ต้องแก้ตรงไหนบ้างค่ะ

<?php require_once('Connections/connproject.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>
</head>


<script language="javascript" type="text/javascript">
function fncCreateElement(){
var mySpan = document.getElementById('mySpan');

var myElement1 = document.createElement('input');
myElement1.setAttribute('type', 'List');
myElement1.setAttribute('name', 'ques_id[]');
myElement1.setAttribute('id',"txt1");
mySpan.appendChild(myElement1);
mySpan.appendChild(document.createElement('br'));
}
function fncDeleteElement(){
var mySpan = document.getElementById('mySpan');

//*** Remove Element ***//
var deleteEle = document.getElementById('txt1');
mySpan.removeChild(deleteEle);
}
</script>



<body>
<?php $qurey_rsQues = "SELECT * FROM question_detail";
$rsQues = mysql_query($qurey_rsQues,$connproject) or die(mysql_error());
$row_rsQues = mysql_fetch_assoc($rsQues); ?>
<form action="Untitled-5.html" method="post" name="form1">

[color=red]<select name = "ques_id[]" id = "ques_id">
<option value = "0" selected<กรุณาเลือกคำถาม</option>
<?php do{
echo "<option value = '".$row_rsQues['ques_id']."'> ".$row_rsQues['ques_detail']." </option>";
}while($row_rsQues = mysql_fetch_assoc($rsQues));
?>
</select>

<span id="mySpan"></span><br />
<br />
<input name="btnSubmit" type="submit" value="Submit">
<input name="btnButton" id="btnButton" type="button" value="Create" onClick="JavaScript:fncCreateElement();"><input name="nButton" id="nButton" type="button" value="Delete" onClick="JavaScript:fncDeleteElement();">


</form>
</body>
</html>


2. จากโค้ดนี้หน่ะค่ะ ไม่ทราบว่าจะนำ ค่าที่ได้จากการเลือก select box แต่ละอัน ไปใช้อย่างไรค่ะ หากต้องการนำไป insert ลงฐานข้อมูล สมมติว่าต้่องการบันทึกลงฐานข้อมูล แบบ project_id,ค่าที่select วนไปเรื่อยๆหน่ะค่ะจนครบทุก select ที่เลือกจะต้องเขี่ยนโค้ดประมาณไหนค่ะ

ขอบพระคุณทุกคำตอบนะค่ะ



Tag : PHP, MySQL, JavaScript, Ajax









ประวัติการแก้ไข
2010-11-17 19:27:37
2010-11-17 19:28:45
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-11-17 19:25:51 By : nuie View : 4176 Reply : 3
 

 

No. 1



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



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

ลองดู JQuery ครับคิดว่าอาจจะตรงกับความต้องการหรือเปล่าไม่แน่ใจแต่ก็ลองดูนะเพื่อได้แนวทาง
โดยการทำงานจะเลือกตัวเลือกจากลิสบ๊อกแล้วจะแสดงคำถามที่พร้อมตัวเลือกมาให้
(ตอบจากความเข้าใจไม่รู้ตรงเปล่านะครับ)
ถ้าไม่ตรงยังไงช่วยอธิบายเพิ่มหน่ยนะครับ


ส่อนเรื่องการนำค่าจากลิสไปใช้โดยส่วนตัวใช้ประมาณนี้ครับ
แบบ array
ทำการนับจำนวนค่าที่ส่งมาใน array แล้วใช้ while หรือ for เพื่อทำการถอดค่าจาก array
ครับแล้วก็แยกค่าออกมา โดยใช้ $_Post["DATA"][$i] หลังจากนั้นก็นำไปสร้างคำสั่ง
sql แล้วก็ query



ก่อนอื่นดาวน์โหลด jQuery มาก่อน
http://code.jquery.com/jquery-1.4.4.js

test.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=windows-874" />
<title>Untitled Document</title>
<link href="css/css.css" rel="stylesheet" type="text/css" />
<script language="javascript" src="jquery-1.4.2.min.js"></script>
<SCRIPT LANGUAGE="JavaScript">
<!--
function newXmlHttp(){
	var xmlhttp = false;
	try{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				xmlhttp = false;
			}
		}


	if(!xmlhttp && document.createElement){
		xmlhttp = new XMLHttpRequest();
	}

return xmlhttp;
}

function num2text(){
	var id = document.form1.id.value;
	var url = "listbox.php?id="+id
	xmlhttp = newXmlHttp();
	xmlhttp.open("GET", url, true);
	xmlhttp.send(null); 
$("document").ready( function(){
                              $("#numtxt").hide("fastest",function(){
                              $("#numtxt").show("fastest"); 
							  document.getElementById("numtxt").innerHTML = xmlhttp.responseText;
                         });
        });
}
//-->
</SCRIPT>
</head>
<body>
<table width="80%"  border="0" align="center" cellpadding="0" cellspacing="0">
    <form name="form1"><tr>
      <td>เลือกคำถาม<br>
      <select name="id" onchange="num2text();">
        <option value="1">ข้อ1</option>
        <option value="2">ข้อ 2</option>
        <option value="3">ข้อ 3</option>
        <option value="4">ข้อ 4</option>
      </select>
      </label></td>
    </tr></form>
  </table>
<table width="80%"  border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td><strong>โปรดเลือกคำถามจากตัวเลือกด้านล่าง</strong><br>
    <br>
    <div id="numtxt" ><font color="#FF0000">
    ยังไม่ได้กรอกข้อมูลจ้า<br>
    </font></div></td>
  </tr>
</table>
</body>
</html>



listbox.php
<?
header('Content-Type: text/html; charset=tis-620');
$id			= $HTTP_GET_VARS["id"];
echo "ข้อที่    ".$id;
switch($id){
case 1 : 
     echo ' <select name="No1" >
        <option value="1">ตัวเลือกข้อ1</option>
        <option value="2">ตัวเลือกข้อ 2</option>
        <option value="3">ตัวเลือกข้อ 3</option>
        <option value="4">ตัวเลือกข้อ 4</option>
      </select>';
break;
case 2 : 
     echo ' <select name="No2" >
        <option value="1">ตัวเลือกข้อ1</option>
        <option value="2">ตัวเลือกข้อ 2</option>
        <option value="3">ตัวเลือกข้อ 3</option>
        <option value="4">ตัวเลือกข้อ 4</option>
      </select>';
break;
case 3 : 
     echo ' <select name="No3" >
        <option value="1">ตัวเลือกข้อ1</option>
        <option value="2">ตัวเลือกข้อ 2</option>
        <option value="3">ตัวเลือกข้อ 3</option>
        <option value="4">ตัวเลือกข้อ 4</option>
      </select>';
break;
case 4 : 
     echo ' <select name="No4" >
        <option value="1">ตัวเลือกข้อ1</option>
        <option value="2">ตัวเลือกข้อ 2</option>
        <option value="3">ตัวเลือกข้อ 3</option>
        <option value="4">ตัวเลือกข้อ 4</option>
      </select>';
break;
}

?>










ประวัติการแก้ไข
2010-11-17 23:34:38
2010-11-17 23:47:16
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-17 23:29:17 By : komson94
 


 

No. 2



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



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


^-^ ขอบคุณนะค่ะ แต่ว่าไม่ใช่อย่างที่ต้องการอ่าค่ะ คือแบบว่าต้องการให้เมื่อกดเพิ่ม แล้ว เมนู selectbox จะเกิดขึ้นอีกอันหน่ะค่ะ โดยที่มันจะมีลิสต์เมนูเหมือนอันแรกทุกประการ คือให้เพิ่มได้ลบได้ เพราะต้องการนำไปใช้ ในการเพิ่มคำถาม ซึ่ง 1 เพจจะมีหลายๆคำถาม แต่ให้ user เลือกเอาหน่ะค่ะ จากฐานข้อมูล แบบว่า selectbox อันแรก คือคำถามข้อที่ 1 ถ้ากดเพิ่ม จะเกิด selectbox ใหม่ เพื่อเลือก คำถามข้อสอง ไม่ใช่แบบที่คุณ kom ตอบมาอ่าค่ะ ซึ่งจะนำค่าแต่ละ selectbox นี้ไปใช้หน่ะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 18:36:38 By : nuie
 

 

No. 3



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



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

จาก script ของ mr.win นำมาดัดแปลงแล้วได้แบบนี้คับพร้อม sql คิดว่าแบบนี้น่าจะใกล้เคียงนะครับ
Code (PHP)
<?php 
if($_POST){
$data = "Column5_".$i;
$total = $_POST['hdnMaxLine'];
$total++;
$i=1;
while($i<=$total){
$val = $_POST["Column5_".$i];
echo $sql."<br>";
$sql = "INSERT INTO `customer` (`CustomerID` ,`Name` ,`Email` ,`CountryCode` ,`Budget` ,`Used` )
VALUES ('', '$val', 'DATA', 'DATA', 'DATA', 'DATA')";
$i++;
}
}
?>


<html>
<head>
<title>ThaiCreate.Com JavaScript Add/Remove Element</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<?
mysql_connect("localhost","root","1234");
mysql_select_db("mydatabase");
$strSQL = "SELECT * FROM customer";
$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["Name"];?>", "<?=$objResult["CustomerID"];?>"); 
		objSelect.options[objSelect.length] = Item;
		<?
		}
		?>
	}

	function CreateNewRow()
	{
	
		var intLine = parseInt(document.frmMain.hdnMaxLine.value);
		intLine++;
			
		var theTable = document.all.tbExp
		var newRow = theTable.insertRow(theTable.rows.length)
		newRow.id = newRow.uniqueID

		var newCell
		

		
		//*** Column 5 ***//
		newCell = newRow.insertCell(0);
		newCell.id = newCell.uniqueID;
		newCell.setAttribute("className", "css-name");
		newCell.innerHTML = "<center><SELECT NAME=\"Column5_"+intLine+"\"></SELECT></center>";

		//*** Create Option ***//
		CreateSelectOption("Column5_"+intLine)
		
		document.frmMain.hdnMaxLine.value = intLine;
	}
	
	function RemoveRow()
	{
		intLine = parseInt(document.frmMain.hdnMaxLine.value);
		if(parseInt(intLine) > 0)
		{
				theTable = (document.all) ? document.all.tbExp : 
				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">Column 1 </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();">
<label>
<input type="submit" name="Submit" value="SEND">
</label>
</form>
</body>
</html>

Code

database
CREATE TABLE `customer` (
`CustomerID` varchar(4) NOT NULL,
`Name` varchar(50) NOT NULL,
`Email` varchar(50) NOT NULL,
`CountryCode` varchar(2) NOT NULL,
`Budget` double NOT NULL,
`Used` double NOT NULL,
PRIMARY KEY (`CustomerID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Dumping data for table `customer`
--

INSERT INTO `customer` VALUES ('C001', 'Win Weerachai', '[email protected]', 'TH', 1000000, 600000);
INSERT INTO `customer` VALUES ('C002', 'John Smith', '[email protected]', 'EN', 2000000, 800000);
INSERT INTO `customer` VALUES ('C003', 'Jame Born', '[email protected]', 'US', 3000000, 600000);
INSERT INTO `customer` VALUES ('C004', 'Chalee Angel', '[email protected]', 'US', 4000000, 100000);

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-19 21:33:04 By : komson94
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : โค้ดJavaScript สร้าง selectbox ดึงข้อมูลจากฐานข้อมูล เมื่อกดปุ่ม create แล้วให้สร้าง selectbox อีกอัน ดัดแปลงมาจากการสร้าง textbox
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่