หนูต้องการแสดงข้อมูลที่เพิ่งจะ insert ลงไปในฐานข้อมูล โดยแสดงในหน้าเดียวกันกับที่ insert ลงไปค่ะ
หนูต้องการแสดงข้อมูลที่เพิ่งจะ insert โดยแสดงทันทีในหน้าเดียวกันกับที่ insert ลงไปในฐานข้อมูลoracle
หนูควรทำอย่างไรคะ ในส่วนที่เป็นโค้ด select หนูลองใน sql plus แล้วค่ะว่าดึงข้อมูลขึ้นมาถูกต้อง
แต่ไม่รู้ว่านำมาวางถูกหรือไม่ หนูลองทำดูแล้วแต่มันไม่แสดงขึ้นมา
นี่เป็นโค้ดค่ะ
Code (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>หน้าเช็คชื่อนักศึกษา</title>
</head>
<body onload ="document.frmcheckin.txtIDStudent.focus();" >
<form name="frmcheckin" action="<?=$_SERVER['SCRIP_NAME'];?>" method="get" >
<div align="center">
<?
$thaiweek=array("วันอาทิตย์","วันจันทร์","วันอังคาร","วันพุธ","วันพฤหัส","วันศุกร์","วันเสาร์");
$thaimonth=array("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม ","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน ","ธันวาคม");
echo $thaiweek[date("w")] ,"ที่",date(" j "), $thaimonth[date(" m ")-1] , " พ.ศ. ",date(" Y ")+543," ขณะนี้เวลา ",date("H:i:s") ;
?>
</div>
<div align="center">
<p>-------------------------------------------------------------------------ขณะนี้คุณกำลังเช็คชื่อเข้าเรียนตามรายละเอียดตามนี้----------------------------------------------------------------------</p>
<table width="741" border="1" cellspacing="1" cellpadding="1">
<tr>
<th width="92" scope="col">ปีการศึกษา</th>
<th width="81" scope="col">ภาคเรียน</th>
<th width="72" scope="col">รายวิชา</th>
<th width="71" scope="col">ประเภท </th>
<th width="75" scope="col">Section</th>
<th width="104" scope="col">ครั้งที่เรียน</th>
<th width="80" scope="col">ห้องเรียน</th>
</tr>
<tr>
<td><input type="text" name="Syear" value="<?=$_GET["Syear"]?>" size="10" readonly /></td>
<td><input type="text" name="Sterm" value="<?=$_GET["Sterm"]?>" size="5" readonly /></td>
<td><input type="text" name="SsubID" value="<?=$_GET["SsubID"]?>"size="6" readonly /></td>
<td><input name="SType" type="text" value="<?=$_GET["SType"]?>" size="5" readonly /></td>
<td><input name="Ssection" type="text" value="<?=$_GET["Ssection"]?>" size="5" readonly /></td>
<td><input name="txtLearnNo" type="text" value="<?=$_GET["txtLearnNo"]?>" size="5" readonly /></td>
<td><input name="SClassroom" type="text" value="<?=$_GET["SClassroom"]?>"size="5" readonly /></td>
</tr>
</table>
<p><a href="_SelectSub.php">เปลี่ยนรายวิชา</a></p>
<p>-------------------------------------------------------------กรุณาสแกนบัตรนักศึกษา หรือ พิมพ์รหัสนักศึกษา--------------------------------------------------------</p>
</div>
<div align="center">
<table width="599" border="1" >
<tr>
<th ><div align="center">รหัสนักศึกษา
<input name="txtIDStudent" type="text" id="txtIDStudent" />
<input type="submit" name="Submit" value="เช็คชื่อนักศึกษา" />
</div></th>
</tr>
</table>
</div>
</form>
<?
$objConnect = oci_connect("user01","project","192.168.75.128/DBproject1");
$strSQL = "INSERT INTO CHECKIN";
$strSQL .= "(YEAR, TERM, SUB_ID, TYPE_ID, SECTION_ID, LEARN_NO, ROOM_NO, STU_ID,DATE_CHECK, CHECK_IN)";
$strSQL .= "VALUES";
$strSQL .= "('".$_GET["Syear"]."','".$_GET["Sterm"]."','".$_GET["SsubID"]."','".$_GET["SType"]."','".$_GET["Ssection"]."','".$_GET["txtLearnNo"]."','".$_GET["SClassroom"]."','".$_GET["txtIDStudent"]."',TO_DATE(sysdate, 'DD MON RRRR'),to_char(sysdate,'HH24:MI:SS'))";
$objParse = oci_parse ($objConnect, $strSQL);
$objExecute = oci_execute($objParse,OCI_DEFAULT);
if($objExecute)
{
oci_commit($objConnect);
echo "สถานะ : เช็คชื่อเข้าเรียนแล้ว.";
}
else
{
oci_rollback($objConnect);
//echo"ระบบขัดข้อง------------.> กรุณาเช็คชื่อเข้าเรียนใหม่ [".$strSQL."";
}
?>
<div align="center">
<?
if ($_GET["txtIDStudent"] != "")
{
$objConnect = oci_connect("user01","project","192.168.75.128/DBproject1");
$strSQL = "select cc.sub_id, s.stu_fname, s.stu_lname, cc.date_check, cc.check_in, cc.check_out
from enroll_student es,student s,checkin cc
where cc.stu_id = es.stu_id and es.stu_id = s.stu_id and es.sub_id='%".$_GET["SsubID"]."%' and
cc.year='%".$_GET["Syear"]."%' and cc.term='%".$_GET["Sterm"]."%' and (cc.sub_id='%".$_GET["SsubID"]."%' and cc.type_id='%".$_GET["SType"]."%')
and (cc.section_id='%".$_GET["Ssection"]."%' and cc.learn_no='%".$_GET["txtLearnNo"]."%')";
$objParse = oci_parse ($objConnect, $strSQL);
oci_execute($objParse);
?>
รายละเอียดการเช็คชื่อ
</div>
<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">เวลาออก</div></th>
</tr>
<?
while($objResult = oci_fetch_array($objParse,OCI_BOTH))
{
?>
<tr>
<td><div align="center">
<?=$objResult["STU_ID"];?>
</div></td>
<td><div align="center">
<?=$objResult["STU_FNAME"];?>
</div></td>
<td><div align="center">
<?=$objResult["STU_LNAME"];?>
</div></td>
<td><div align="center">
<?=$objResult["DATE_CHECK"];?>
</div></td>
<td><div align="center">
<?=$objResult["CHECK_IN"];?>
</div></td>
<td><div align="center">
<?=$objResult["CHECK_OUT"];?>
</div></td>
</tr>
<?
}
?>
</table>
<?
oci_close($objConnect);
}
?>
</body>
</html>
Tag : - - - -
Date :
2010-07-17 03:11:30
By :
ดาว
View :
1418
Reply :
5
จะนำมาวางตรงไหนมันก็ขึ้นอยู่แล้วแหล่ะ เพียงแต่ว่า...
ขั้นแรก
เราต้องไปเช็คข้อมูลในฐานข้อมูลก่อนว่ามันเข้าหรือเปล่า?
ถ้าเข้าก็แสดงว่าโค๊ดไม่ผิดพลาดในขั้นตอน Insert ถ้าไม่เข้าก็กลับไปตรวจสอบการแอดข้อมูลใหม่จนมันได้นะ
ขั้นที่สอง
ไปเช็คตามเงื่อนไขที่เขียนไว้นะ --> if ($_GET["txtIDStudent"] != ""){} มันตรงมั้ยถ้าไม่ตรงมันก็ไม่มีทางที่จะเข้าไปทำโค๊ดดึงข้อมูลได้
ขั้นต่อไป
ถ้าตรงตามเงื่อนไขดังกล่าวแล้ว ก็ไปเช็คที่ --> where cc.stu_id = es.stu_id and es.stu_id = s.stu_id and es.sub_id='%".$_GET["SsubID"]."%' and
082.
cc.year='%".$_GET["Syear"]."%' and cc.term='%".$_GET["Sterm"]."%' and (cc.sub_id='%".$_GET["SsubID"]."%' and cc.type_id='%".$_GET["SType"]."%')
083.
and (cc.section_id='%".$_GET["Ssection"]."%' and cc.learn_no='%".$_GET["txtLearnNo"]."%')
มันเป็น && ทั้งหมดเลยก็หมายความว่าจะขาดตัวใดต่อหนึ่งไปไม่ได้เลย ถ้าขาดข้อมูลตัวใดตัวหนึ่งเช่น ขาด $_GET["SsubID"] เป็นค่าว่าง มันก็จะไม่แสดงผล
ลองตรวจสอบดูนะ
Date :
2010-07-17 14:24:16
By :
chineji
แนะนำให้ถามเป็นจุด ๆ ไปน่ะครับ ถ้าถามกว้างเกินจะไม่ค่อยได้คำตอบกันครับ
Date :
2010-07-17 16:07:08
By :
webmaster
ขอบคุณค่ะ
Date :
2010-07-18 18:58:49
By :
ดาว
ทำได้แล้วค่ะ
แค่เปลี่ยนจาก = เป็น LIKE ก็ใช้ได้เลยค่ะ
ขอบคุณทุกท่านค่ะ
Date :
2010-07-21 14:14:42
By :
ดาว
Load balance : Server 05