|
|
|
PHP, Oracle รบกวนช่วยดู โค้ด หน่อย ค่ะ ว่าทำไม มันไม่ Update ซักที |
|
|
|
|
|
|
|
Code php ต้องการ update เมื่อมีข้อมูลอยู่ ถ้าตรวจสอบว่า ไม่มีข้อมูลให้ insert ช่วยแนะนำหน่อยค่ะ
Code (PHP)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
include ("connect_db.php");
$strSQL = "SELECT * FROM EV_ANSWER WHERE STUDENTCODE = '".$_GET["student_code"]."'";
$objParse = oci_parse ($objConnect, $strSQL);
oci_execute ($objParse,OCI_DEFAULT);
$objResult = oci_fetch_array($objParse);
if($objResult)
{
for($i=1;$i<=(int)$_POST["line"];$i++)
{
$strSQL = "update EV_ANSWER set CHOICEID = '".$_POST["q_no".$i]."' where STUDENTCODE = '".$_GET["student_code"]."' and OFFICERID = '".$_GET["OFFICERID"]."' and COUSECODE = '".$_GET["COUSECODE"]."' ";
$objParse = oci_parse ($objConnect, $strSQL);
oci_execute($objParse);
if($objExecute)
{
oci_commit($objConnect);
echo"<body onload=\"window.alert(' บันทึกการประเมิน..');return history.go(-2)\">";
}
else
{
oci_rollback($objConnect); //*** RollBack Transaction ***//
echo "Error Save [".$strSQL."]";
echo"<body onload=\"window.alert(' เกิดข้อผิดพลาด..!!');return history.go(-1)\">";
}
for($i=1;$i<=(int)$_POST["line"];$i++)
{
//echo $_POST["q_no".$i];
//echo $_POST["line".$i];
//echo "<br>";
$str = "INSERT INTO EV_ANSWER";
$str .="(\"STUDENTCODE\",\"OFFICERID\",\"COUSECODE\",\"TQF_ID\",\"CHOICEID\",\"CLASSID\")";
$str .="VALUES ";
$str .="('".$_GET["student_code"]."','".$_GET["OFFICERID"]."','".$_GET["COURSECODE"]."','".$_POST["id".$i]."','".$_POST["q_no".$i]."','".$_POST["CLASSID"]."')";
$objParse = oci_parse($objConnect,$str);
$objExecute = oci_execute($objParse,OCI_DEFAULT);
}
include ("connect_db.php");
$strSQL = "INSERT INTO EV_COMMENT ";
$strSQL .="(\"COMMENTEXT\",\"OFFICERID\",\"STUDENTCODE\",\"COURSECODE\",\"CLASSID\") ";
$strSQL .="VALUES ";
$strSQL .="('".$_POST["COMMENT"]."','".$_GET["OFFICERID"]."','".$_GET["student_code"]."','".$_GET["COURSECODE"]."','".$_POST["CLASSID"]."')";
$objParse = oci_parse($objConnect, $strSQL);
$objExecute = oci_execute($objParse, OCI_DEFAULT);
if($objExecute)
{
oci_commit($objConnect);
echo"<body onload=\"window.alert(' บันทึกการประเมิน..');return history.go(-2)\">";
}
else
{
oci_rollback($objConnect); //*** RollBack Transaction ***//
echo "Error Save [".$strSQL."";
echo"<body onload=\"window.alert(' เกิดข้อผิดพลาด..!!');return history.go(-1)\">";
}
}
}
oci_close($objConnect);
?>
</body>
</html>
Tag : PHP, Oracle, CakePHP
|
ประวัติการแก้ไข 2012-06-25 22:26:08
|
|
|
|
|
Date :
2012-06-25 22:21:12 |
By :
comerror |
View :
1120 |
Reply :
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลอง echo ค่าออกมาเช็คเงื่อนไขดูครับ
เวลาเงื่อนไขจาก SQL มีปัญหา ต้องดูแล้วแก้แบบนี้ครับ
|
|
|
|
|
Date :
2012-06-25 23:17:04 |
By :
Pine |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มี Error ? หรือว่าเอา SQL ไปรันดูใน Query ดูครับ
|
|
|
|
|
Date :
2012-06-26 06:15:19 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มี error ขึ้นมาแบบนี้อ่ะค่ะ
|
|
|
|
|
Date :
2012-06-26 09:28:45 |
By :
comerror |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำไมตัวสุดท่้ายไม่มีค่าครับ
|
|
|
|
|
Date :
2012-06-26 09:47:41 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เมื่อกี้ใส่ตัวแปรผิดค่าตัวสุดท้ายเลยไม่มาค่ะ แต่ก็ยัง error เหมือนเดิมค่ะ
|
|
|
|
|
Date :
2012-06-26 11:01:27 |
By :
comerror |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเข้าไปดู error จาก Oracle server สิคะ มันจะบอกว่าทำไมถึง insert ไม่ได้
ว่าแต่ถ้าต้องการแบบข้างบน ปกติจะใช้วิธี Upsert (update + insert) ลองกูเกิ้ล Merge ดู
|
|
|
|
|
Date :
2012-06-28 23:16:42 |
By :
Bach |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วค่ะ ขอบคุณทุกข้อเสนอแนะนะค่ะ
|
|
|
|
|
Date :
2012-06-29 07:47:26 |
By :
comerror |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|