มือใหม่ oracle รบกวนถามหน่อยค่ะเกี่ยวกับการselect ให้แสดงค่าที่ textbox แบบ auto แล้วจะบันทึกลงฐานข้อมูลอย่างไรคะ
คือ ถ้าเป็นแบบอันที่สองอ่ะค่ะมันจะให้เลือกชื่อวิชาเลย
แต่ที่หนูต้องการคือให้เลือกรหัสวิชา แล้วก็แสดงชื่อวิชาที่ textbox ค่ะ
มันก็ทำได้นะคะ
ผลออกมาได้ค่ะ
แต่ว่าพอจะเอาค่าของรหัสวิชาไปใช้ต่ออ่ะค่ะ
หนูควรจะทำยังงัยค่ะ เพราะว่ามันเก็บค่าเป็นค่าของชื่อวิชาไปแล้วอ่ะ
Date :
2010-07-07 03:06:56
By :
ดาว
ก็เอา subj_id ไปเป็น value ของ option อย่างคุณ PlaKrim ว่านะครับ
แล้วก็เปลี่ยน javascript เล็กน้อยให้มันไป get เอาค่า text ของ option มาแสดงแทน เช่น
onchange="doSomething();"
<script>
function doSomething(){
var w = document.myform.SsubID.selectedIndex;
var selected_text = document.myform.SsubID.options[w].text;
document.forms.txtSubName.value=selected_text;
}
</script>
ซึ่งปกติคุณเอา value ของ option มาแสดง
document.forms.txtSubName.value=document.forms.SsubID.value;
จบ..
Date :
2010-07-07 22:43:20
By :
pnbps
ขอลองก่อนนะคะ
ขอบคุณในความกรุณาค่ะ
ได้ไม่ได้ยังงัยเด่งจะมาบอกนะคะ
Date :
2010-07-11 02:03:19
By :
ดาว
ลองแล้วนะคะ แต่ยังไม่ใช่ที่ต้องการค่ะ
ต้องขอบคุณ คุณบุญพรหมสุข และคุณPlaKriM ด้วยนะคะ
จากที่ลองนะคะ เมื่อมีการเลือกรหัสวิชา (SUB_ID) จาก SELECT นั่น ในส่วนของ TEXTBOX ควรจะแสดงชื่อวิชา (SUB_NAME) จากฐานข้อมูล Oracle
แต่ว่ามันกลับแสดงรหัสวิชาเหมือนที่เลือก
เพราะฉนั้นถ้าจะให้ได้แบบนี้ ก็แค่เปลี่ยนโค้ดยังงี้
<option value="<?=$objResult["SUB_ID"];?>" selected="selected"><?=$objResult["SUB_ID"];?></option>
มันก็แสดงเป็นรหัสวิชาแล้วค่ะ
แต่ว่าหนูต้องการให้มันแสดงเป็นชื่อวิชา โดยที่ยังมีตัวที่เก็บค่าของรหัสวิชาไว้อยู่ เพราะต้องเอาไปใช้ต่ออ่ะคะ แต่ที่หนูทำได้ตอนนี้ option มันเก็บเป็นชื่อวิชาอ่ะคะแต่ที่ต้องการคือรหัสวิชาค่ะ
(ไม่รู้ว่าอธิบายวกไปวนมารึป่าวอ่ะคะ ขอโทดด้วยนะคะ ยังไม่ได้นอนอ่ะค่ะ อาจจะเบลอไปบ้าง.....)
Date :
2010-07-11 06:57:30
By :
ดาว
ส่งไฟล์และฐานข้อมูลมาดูด้วยก็จะดีนะ จะได้ช่วยแก้ไขให้
Date :
2010-07-11 13:28:49
By :
item170
ขอบคุณค่ะ
เด่วหนูไปลองดูก่อนนะคะ
Date :
2010-07-12 02:14:09
By :
ดาว
ขอบคุณพี่ๆนะคะ
อย่าว่าหนูเลยนะคะ
แต่ว่า หนูขออธิบายอีกทีแล้วกันนะคะ
หนูลองเอาไปแก้แล้วอ่ะคะ
แต่ว่าได้ผลเหมือนเดิมค่ะ
คือพอเลือกรหัสวิชาแล้ว ที่ TEXTBOX มันยังแสดงเป็นรหัสวิชาอยู่อ่ะคะ แต่หนูต้องการให้มันแสดงเป็นชื่อวิชาอ่ะคะ
หนูมีตาราง SUBJECT ซึ่งเก็บ SUB_ID , SUB_NAME
หนูต้องการให้เลือกรหัสวิชา แล้วมีชื่อวิชาปรากฎทันทีที่ TEXTBOX
แล้วก็ให้สามารถนำรหัสวิชานั่นมาใช้ต่อได้อีก เพราะวิธีที่หนูได้ให้ดูไปข้างบนนั่น มันแสดงถูกต้องทุกอย่างค่ะ แต่ว่ามันไม่เก็บค่ารหัสวิชาไว้
หนูไม่แน่ใจว่าหนูอธิบายเข้าใจรึป่าวอ่ะคะ
Date :
2010-07-12 04:45:35
By :
ดาว
นี่เป็นรูปฟอร์มที่ต้องการค่ะ
แต่ว่าให้สามารถนำรหัวิชาไปใช้ต่อได้อ่ะคะ
Date :
2010-07-12 04:57:21
By :
ดาว
ไม่มีคนมาตอบแล้วหรอ
T_T ฮือ...................
Date :
2010-07-13 00:50:40
By :
ดาว
เอาโค๊ดมาดูเหอะครับ
Date :
2010-07-13 10:22:13
By :
plakrim
ได้ค่ะ
Date :
2010-07-13 19:52:05
By :
ดาว
นี่เป็นโค้ดทั้งหมดนะคะ หนูพยายามจับต้นชนปลายเอาเองอ่ะคะ มันเลยดูยุ่งๆ ขอโทดด้วยนะคะ
คือมันเป็นระบบเช็คชื่อนักศึกษาอ่ะคะ
ฉนั้นอาจารย์ต้องเลือกรายละเอียดการสอน ซึ่งได้แก่ ปีการศึกษา เทอม วิชา ห้องเรียน ฯลฯ
แล้วพอกด SUBMIT ก็ให้ Disable ข้อมูลเหล่านี้ไว้ก่อนค่ะเพราะว่าต้อง Insert ลงฐานข้อมูลในตาราง CHECKIN พร้อมกับ รหัสนักศึกษา
เมื่อสแกนบัตรนักศึกษาแล้วจึงบันทึกลงฐานข้อมูลพร้อมกันทั้งหมดค่ะ
คล้ายๆ กับระะบบงานห้องสมุดเลยค่ะ
ปัญหาทั้งหมดที่มีคือ 1. เมื่อ Select รหัสวิชาแล้ว ก็ให้ textbox แสดงชื่อวิชาทันที ซึ่งทำได้แต่ เมื่อจะนำมาบันทึกลงฐานข้อมูล มันบันทึกไม่ได้
เพราะSelect มันดันเก็บค่าเป็นชื่อ แต่หนูต้องการรหัส เพราะ SUB_ID เป็น PK ร่วมในตาราง CHECKIN
2. พอกด Submit แล้ว ข้อมูลที่เลือกไว้หายหมดเลย
3. textbox ที่แสกนรหัสนักศึกษามันยังไม่สามารถเคลียร์ค่าที่แสกนไปก่อนหน้าโดยอัตโนมัติ
4. มันยังบันทึกลงฐานข้อมูลแบบ AUTO(ไม่ต้องกด Submit )ไม่ได้ คือให้แสกนรหัสนักศึกษาแล้วก็เก็บข้อมูลทั้งหมดลงฐานข้อมูลเลย
แล้วพร้อมที่จะแสกนรหัสคนต่อไปได้เลยโดยที่ข้อมูลวิชาที่เลือกไว้ไม่หายไป
นี่เป็นปัยหาทั้งหมดของหน้านี้ค่ะ
มีคัยรับจ้างสอน php + Oracle บ้างคะ คือหนูเป็นมือใหม่มากๆ แต่หนูต้องรีบทำงานให้เสร็จ ถ้าศึกษาเองหนูกลัวจะไม่ทัน ถ้าจ้างทำก็ไม่ได้ความรู้
ฉนั้นคัยว่างพอจะสอนและคอยตอบคำถามหนูได้ บ้งมั๊ยค่ะ แล้วค่อยคุยเรื่องราคากันอีกที ติดต่อมาได้นะคะ 0805759607
<!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>หน้าเช็คชื่อนักศึกษา</title>
</head>
<body onload ="document.frmcheckin.txtIDStudent.focus();" >
<?
$thaiweek=array("วันอาทิตย์","วันจันทร์","วันอังคาร","วันพุธ","วันพฤหัส","วันศุกร์","วันเสาร์");
$thaimonth=array("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม ","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน ","ธันวาคม");
echo $thaiweek[date("w")] ,"ที่",date(" j "), $thaimonth[date(" m ")-1] , " พ.ศ. ",date(" Y ")+543," ขณะนี้เวลา ",date("H:i:s") ;
?>
<form id="forms" name="forms" method="get" action="">
<div align="center">
<table width="607" border="1">
<tr>
<th width="119" scope="col">ปีการศึกษา</th>
<th width="119" scope="col">ภาคเรียน</th>
<th width="125" scope="col">รหัสวิชา</th>
<th width="221" scope="col">ชื่อวิชา</th>
<th width="221" scope="col">ประเภท</th>
<th width="221" scope="col">Section</th>
<th width="221" scope="col">คาบ</th>
<th width="221" scope="col">ห้องเรียน</th>
</tr>
<tr>
<td><select name="Syear" size="1" id="Syear" >
<option value=""> --เลือก-- </option>
<? for($i=2540;$i<=2560;$i++) { ?>
<option value="<?=$i ?>"selected="selected"> <?=$i ?> </option>
<? } ?>
</select></td>
<td><select name="Sterm" size="1" id="Sterm">
<option value=""> --เลือก-- </option>
<? for($i=1;$i<=3;$i++) { ?>
<option value="<?=$i ?>" selected="selected"> <?=$i ?></option>
<? } ?>
</select></td>
<script>
function doSomething(){
var w = document.forms.SsubID.selectedIndex;
var selected_text = document.forms.SsubID.options[w].text;
document.forms.txtSubName.value=selected_text;
}
</script>
<td><select name="SsubID" id="SsubID" onchange="doSomething();">
<option value=""> --เลือก-- </option>
<?
$objConnect = oci_connect("user01","project","192.168.75.128/DBproject1");
$strSQL = "SELECT * FROM SUBJECT";
$objParse = oci_parse ($objConnect, $strSQL);
oci_execute($objParse);
?>
<?
while($objResult = oci_fetch_array($objParse,OCI_BOTH))
{
?>
<option value="<?=$objResult["SUB_ID"];?>" selected="selected"><?=$objResult["SUB_ID"];?></option>
<? } ?></select></td>
<td><input type="text" id="txtSubName" name="txtSubName" value="แสดงชื่อวิชา"/></td>
<td><select name="SType" id="SType">
<option value="">--เลือก--</option>
<?
$objConnect = oci_connect("user01","project","192.168.75.128/DBproject1");
$strSQL = "SELECT * FROM TYPE";
$objParse = oci_parse ($objConnect, $strSQL);
oci_execute($objParse);
while($objResult = oci_fetch_array($objParse,OCI_BOTH))
{
?>
<option value="<?=$objResult["TYPE_ID"];?>"selected="selected"><?=$objResult["TYPE_NAME"];?></option>
<? } ?></select></td>
<td><select name="Ssection" id="Ssection">
<option value="">--เลือก--</option>
<?
$objConnect = oci_connect("user01","project","192.168.75.128/DBproject1");
$strSQL = "select distinct section_id from section";
$objParse = oci_parse ($objConnect, $strSQL);
oci_execute($objParse);
while($objResult = oci_fetch_array($objParse,OCI_BOTH))
{
?>
<option value="<?=$objResult["SECTION_ID"];?>"selected="selected"><?=$objResult["SECTION_ID"];?> </option>
<? } ?></select></td>
<td><input name="txtLearnNo" type="text" id="txtLearnNo" size="10"/></td>
<td><select name="SClassroom" id="SClassroom" >
<option value="">--เลือก--</option>
<?
$objConnect = oci_connect("user01","project","192.168.75.128/DBproject1");
$strSQL = "SELECT ROOM_NO FROM CLASSROOM";
$objParse = oci_parse ($objConnect, $strSQL);
oci_execute($objParse);
while($objResult = oci_fetch_array($objParse,OCI_BOTH))
{
?>
<option value="<?=$objResult["ROOM_NO"];?>"selected="selected"><?=$objResult["ROOM_NO"];?></option>
<? } ?> </select></td>
</tr>
</table>
<input type="submit" name="Submit" value="เช็คชื่อนักศึกษา" />
</div>
</form>
<div align="center">-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</div>
<tr>
<td><input type="text" name="txtYear" value="<?=$Syear?>" size="10" readonly /></td>
<td><input type="text" name="txtTerm" value="<?=$Sterm?>" size="5" readonly /></td>
<td><input type="text" name="txtSubId" value="<?=$SsubID?>" size="10" readonly /></td>
<td><input type="text" name="txtSubName" value="<?=$txtSubName?>" size="20" readonly /></td>
<td><input name="txtType" type="text" value="<?=$SType?>" size="5" readonly /></td>
<td><input name="txtSection" type="text" value="<?=$Ssection?>" size="5" readonly /></td>
<td><input name="txtLearn" type="text" value="<?=$txtLearnNo?>" size="5" readonly /></td>
<td><input name="txtClassroom" type="text" value="<?=$SClassroom?>" size="5" readonly /></td></tr>
<div align="center">-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</div>
<form name="frmcheckin" action="<?=$_server['SCRIPT_NAME'];?>" method="get" >
<div align="center">
<table width="599" border="1" >
<tr>
<th ><div align="center">รหัสนักศึกษา
<input name="txtIDStudent" type="text" id="txtIDStudent" value="<?=$_GET["txtIDStudent"]?>" />
</div></th>
</tr>
</table>
</div>
</form>
<div align="center">
<?
if ($_GET["txtIDStudent"] != "")
{
$objConnect = oci_connect("user01","project","192.168.75.128/DBproject1");
$strSQL = "select stu_fname, stu_lname,fac_name, maj_name, crs_name, stu_email
from STUDENT, MAJOR, faculty,course
where (STUDENT.MAJ_ID=MAJOR.MAJ_ID and FACULTY.fac_id= MAJOR.fac_id) AND (course.crs_id=student.crs_id and stu_id like '%".$_GET["txtIDStudent"]."%' )";
$objParse = oci_parse ($objConnect, $strSQL);
oci_execute($objParse);
?>
รายละเอียดนักศึกษา
<table width="1170" border="1" >
<tr>
<th width="119"><div align="center">ชื่อ</div></th>
<th width="111"><div align="center">นาสกุล</div></th>
<th width="234"><div align="center">คณะ</div></th>
<th width="276"><div align="center">ภาควิชา</div></th>
<th width="149"><div align="center">หลักสูตร</div></th>
<th width="241"><div align="center">E-mail</div></th>
</tr>
<?
while($objResult = oci_fetch_array($objParse,OCI_BOTH))
{
?>
<tr>
<td><div align="center">
<?=$objResult["STU_FNAME"];?>
</div></td>
<td><div align="center">
<?=$objResult["STU_LNAME"];?>
</div></td>
<td><div align="center">
<?=$objResult["FAC_NAME"];?>
</div></td>
<td><div align="center">
<?=$objResult["MAJ_NAME"];?>
</div></td>
<td><div align="center">
<?=$objResult["CRS_NAME"];?>
</div></td>
<td><div align="center">
<?=$objResult["STU_EMAIL"];?>
</div></td>
</tr>
<?
}
?>
</table>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<?
oci_close($objConnect);
}
?>
</div>
</body>
</html>
Date :
2010-07-13 20:19:06
By :
ดาว
ขอบคุณคร้าคุณPlaKriM
ว่าแต่ ไม่มีคัยอยากมาสอนหนูเลยหรอ
ฮ่าๆๆๆๆ อาทิตย์ละครั้งก็ได้คร้า
Date :
2010-07-14 01:15:01
By :
ดาว
หนูอาจอธิบายไมรู้เรื่องอ่ะคะ
แต่หนูหมายถึงแบบนี้อ่ะคะ
หนูมีตาราง SUBJECT ซึ่งเก็บ SUB_ID , SUB_NAME
หนูต้องการให้เลือกรหัสวิชา แล้วมีชื่อวิชาปรากฎทันทีที่ TEXTBOX
Date :
2010-07-14 01:54:01
By :
ดาว
https://www.thaicreate.com/community/dependant-listmenu-dropdownlist.html
เข้าไปดูตาม link นี้แล้ว ผมคิดว่าคงได้คำตอบดีๆๆครับ อยู่ใน Thaicreate นี้แหละครับ บางทีการอ่านแบบฝึกหัดก็ช่วยได้เยอะนะครับ จะบอกให้ ผมทำบ่อย เพราะพี่ PlaKriM แนะนำมา และผมก็แนะนำต่อครับ เพราะว่าถ้าอ่านแล้วเดี๋ยวคุณจะเข้าใจมากขึ้นครับ
Date :
2010-07-14 08:58:57
By :
SOUL
ขอบพระคุณ สำหรับความกรุณาค่ะ คุณSOUL
จะทำตามที่แนะนำค่ะ
Date :
2010-07-15 00:43:25
By :
ดาว
ค่ะคุณPlaKriM
เดี๋ยวหนูจะลองเสนออาจารย์ดูก่อนค่ะ
พอดีว่าถ้ามันเสร็จแล้วอาจารย์จะได้เอาไปใช้เลย
ก้เลยต้องถามความเห็นของอาจารย์ด้วยอ่ะคะ
ส่วนปัญหาที่เหลือแก้ได้หมดแล้วค่ะ
ด้วยคำแนะนำของคุณPlaKriMค่ะ
แต่มันก็ยังไม่จบแค่นี้อ่าคะ
ยังมีอะไรอีกเยอะเลย
หนูคงต้องไปลุยต่อ
หนูเกิดฮึดสู้ขึ้นมาเพราะ เมื่อวานลองไปติดต่อคนที่รับจ้างเขียนเว็บอ่ะคะ
ขอให้เค้ามาสอน ไม่ได้จ้างทำ
เค้าคิดราคา 25,000 บาท
หนูไม่รู้จะขอแม่ยังไงเลย ปวดใจ 555++
ก็เลยต้องทำด้วยตัวเองดูก่อนซักตั้ง
คนอื่นทำได้หนูก้ต้องทำได้
เป็นกำลังใจให้ทุกคนที่กำลังพยายามอยู่เหมือนกันด้วยนะคะ
โชคดีที่เรายังมีพี่ๆที่คอยตอบคำถาม โดยไม่หวังผลตอบแทน ขอบคุณ https://www.thaicreate.com ด้วยคะ
Date :
2010-07-15 05:07:18
By :
ดาว
หนูลองดูแล้วนะคะ
เดี๋ยวพรุ่งนี้เอาไปให้อาจารย์ตรวจ
ถ้าผ่านเด่วกลับมาทำต่อค่ะ
Date :
2010-07-15 06:07:43
By :
ดาว
Load balance : Server 03