สอบถามเกี่ยวกับ javascript ร่วมกับ php ครับ
พอดีจะทำการเขียน javascript ให้รับค่าจาก event on change ตามโค้ดนี้ครับ
function ListMachine(SelectValue)
{
//ตัด ค่าตัวเลข ปศุสัตว์ ที่รับเข้ามา
var animal = SelectValue;
var groups_c = SelectValue;
groups_c = (groups_c.substring(0,1));
<?
$groups_c = ///จะเขียนให้ตัวแปรที่เป็น php รับค่าจากตัวแปรใน javascript คือ groups_c ยังไงหรอครับ????
?>
var name_c = SelectValue;
name_c = (name_c.substring(1,3));
var type1_c = SelectValue;
type1_c = (type1_c.substring(3,5));
var type2_c = SelectValue;
type2_c = (type2_c.substring(5,6));
checkForm.Machine.length = 0
//*** Insert null Default Value ***//
var myOption = new Option('','')
checkForm.Machine.options[checkForm.Machine.length]= myOption
<?
$intRows = 0;
$strSQL = "select distinct D.BD_YR,D.GROUPS_C,D.NAME_C,D.TYPE1_C,D.TYPE2_C from OAEDAS.CPSTAN_DESC_D c
inner join OAEDAS.CPSTAN_DESC d on (C.DESC_M_ID = D.DESC_M_ID) where D.GROUPS_C = 'groups_c' and D.NAME_C = 'name_c' and D.TYPE1_C = 'type1_c' and D.TYPE2_C = 'type2_c' order by D.BD_YR desc";
$objQuery = ociparse($conn,$strSQL) or die ("Error Query [".$strSQL."]");
ociexecute($objQuery)or die("เอ็กซิคิวต์คำสั่งไม่ได้");
$intRows = 0;
while($objResult = oci_fetch_array($objQuery))
{
$intRows++;
?>
x = <?=$intRows;?>;
mySubList = new Array();
strGroup = <?=$objResult["GROUPS_C"];?>;
strValue = "<?=$objResult["BD_YR"];?>";
strItem = "<?=$objResult["BD_YR"];?>";
strname_c = <?=$objResult["NAME_C"];?>;
strtype1_c = <?=$objResult["TYPE1_C"];?>;
strtype2_c = <?=$objResult["TYPE2_C"];?>;
mySubList[x,0] = strItem;
mySubList[x,1] = strGroup;
mySubList[x,2] = strValue;
mySubList1[x,0] = strname_c;
mySubList1[x,1] = strtype1_c;
mySubList1[x,2] = strtype2_c;
var myOption = new Option(mySubList[x,0], mySubList[x,2])
checkForm.Machine.options[checkForm.Machine.length]= myOption
<?
}
?>
return animal;
}
//**** List Machine (End) ***//
</script>
รบกวนผู้รู้ช่วยหน่อยครับ
ผมติดนิดเดียวก็จะได้แล้วครับ
ขอบคุณครับ
function ListMachine(SelectValue)
{
//ตัด ค่าตัวเลข ปศุสัตว์ ที่รับเข้ามา
var animal = SelectValue;
var groups_c = SelectValue;
groups_c = (groups_c.substring(0,1));
<?
$groups_c = ///จะเขียนให้ตัวแปรที่เป็น php รับค่าจากตัวแปรใน javascript คือ groups_c ยังไงหรอครับ????
?>
var name_c = SelectValue;
name_c = (name_c.substring(1,3));
var type1_c = SelectValue;
type1_c = (type1_c.substring(3,5));
var type2_c = SelectValue;
type2_c = (type2_c.substring(5,6));
checkForm.Machine.length = 0
//*** Insert null Default Value ***//
var myOption = new Option('','')
checkForm.Machine.options[checkForm.Machine.length]= myOption
<?
$intRows = 0;
$strSQL = "select distinct D.BD_YR,D.GROUPS_C,D.NAME_C,D.TYPE1_C,D.TYPE2_C from OAEDAS.CPSTAN_DESC_D c
inner join OAEDAS.CPSTAN_DESC d on (C.DESC_M_ID = D.DESC_M_ID) where D.GROUPS_C = 'groups_c' and D.NAME_C = 'name_c' and D.TYPE1_C = 'type1_c' and D.TYPE2_C = 'type2_c' order by D.BD_YR desc";
$objQuery = ociparse($conn,$strSQL) or die ("Error Query [".$strSQL."]");
ociexecute($objQuery)or die("เอ็กซิคิวต์คำสั่งไม่ได้");
$intRows = 0;
while($objResult = oci_fetch_array($objQuery))
{
$intRows++;
?>
x = <?=$intRows;?>;
mySubList = new Array();
strGroup = <?=$objResult["GROUPS_C"];?>;
strValue = "<?=$objResult["BD_YR"];?>";
strItem = "<?=$objResult["BD_YR"];?>";
strname_c = <?=$objResult["NAME_C"];?>;
strtype1_c = <?=$objResult["TYPE1_C"];?>;
strtype2_c = <?=$objResult["TYPE2_C"];?>;
mySubList[x,0] = strItem;
mySubList[x,1] = strGroup;
mySubList[x,2] = strValue;
mySubList1[x,0] = strname_c;
mySubList1[x,1] = strtype1_c;
mySubList1[x,2] = strtype2_c;
var myOption = new Option(mySubList[x,0], mySubList[x,2])
checkForm.Machine.options[checkForm.Machine.length]= myOption
<?
}
?>
return animal;
}
//**** List Machine (End) ***//
</script>
รบกวนผู้รู้ช่วยหน่อยครับ
ผมติดนิดเดียวก็จะได้แล้วครับ
ขอบคุณครับ
เพราะ Javascript และ PHP ทำงานที่คนละส่วนกัน Javascript ทำงานบนบราวเซอร์ ส่วน PHP ทำงานบน Server ซึ่ง PHP ทำงานจบไปแล้ว
ผมไม่รู้ว่าจะเอาค่าที่เลือกไปทำประโยชน์อะไร เลยไม่สามารถตอบคำถามนี้ได้มากกว่านี้ แต่พอเดาๆได้ดังนี้
1.ถ้าต้องการส่งค่าที่เลือกไปบันทึกลงฐานข้อมูล ก็สามารถส่งค่าที่เลือกไปเก็บยัง Server ด้วย Ajax ได้
2.ถ้าต้องการแสดงผลค่าที่เลือก อาจใช้วิธีแสดงค่าที่เลือกด้วย Javascript เช่น span.innerHTML = select.value; หรืออาจใช้วิธีโหลดหน้าใหม่เลยก็ได้
ส่วนวิธีการมากกว่านี้หรือลายละเอียด สามารถหาอ่านได้บนเว็บนี้ครับ http://www.goragod.com/?module=tag-Javascript&page=2