Viewing file: clsSectionAll.php (6.21 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
//--Class SectionAll--------------------------
//--PK of SectionAll ::
// 1. sectionid
//include_once "clsDB.php";
include_once "clsSectionAll.php";
class SectionAll extends clsDB{
var $result;
var $sectionid;
var $assid;
var $sectionRQid;
var $sectionTQid;
var $sequence;
function SectionAll(&$c){
$this->c=$c->c;
$this->DB=$c->db;;
}
function Save($typeQuestion){
//--ใช้เมธอดนี้เมื่อต้องการบันทึกข้อมูลในอ๊อบเจ๊กเข้าสู่ฐานข้อมูล
//--โดยจะตรวจสอบสถานะของข้อมูลว่าข้อมูลในอ๊อบเจ๊กเป็นข้อมูลใหม่หรือข้อมูลเดิม
//--1 เป็นข้อมูลใหม่ 2 เป็นข้อมูลเดิม
//echo $typeQuestion;
if ($this->status==1){
$this->sectionid=$this->GetNextCode();
if($typeQuestion == '1'){
//--กรณีที่คำถามเป็นชนิดปลายปิด ให้ GetNextCode ของตัวปัจจุบันที่สุดของคำถามชนิดปลายปิด
$this->sectionRQid=$this->GetNextCodeSectionRQid();
}else if($typeQuestion == '2'){
//--กรณีที่คำถามเป็นชนิดปลายเปิด ให้ GetNextCode ของตัวปัจจุบันที่สุดของคำถามชนิดปลายเปิด
$this->sectionTQid=$this->GetNextCodeSectionTQid();
}
//$this->sequence จะส่งมาจากค่าของ numSA+1;
$sql = "insert into SectionAll values(
'$this->sectionid',
'$this->assid',
'$this->sectionRQid',
'$this->sectionTQid',
'$this->sequence'
)";
}else {
$sql = "update SectionAll set
assid='$this->assid',
sectionRQid='$this->sectionRQid',
sectionTQid='$this->sectionTQid',
sequence='$this->sequence'
where sectionid='$this->sectionid'";
}
//echo "SectionAll -> ".$sql;
return $this->Dml($sql);
}
function Delete(){
//--ใช้เมธอดนี้เพื่อลบข้อมูลเดิมในอ๊อบเจ๊ก
//--เป็นการลบข้อมูลทีละ 1 เรคอร์ด
//--ต้องเรียกเมธอดตามลำดับดังนี้ SearchByKey()-->GetRecord()-->Delete()
return $this->Dml("delete from SectionAll where sectionid='$this->sectionid'");
}
function DeleteSABySectionRQid(){
//--ใช้เมธอดนี้เพื่อลบข้อมูลเดิมในอ๊อบเจ๊ก
//--เป็นการลบข้อมูลทีละ 1 เรคอร์ด
//--ต้องเรียกเมธอดตามลำดับดังนี้ SearchByKey()-->GetRecord()-->Delete()
return $this->Dml("delete from SectionAll where sectionRQid='$this->sectionRQid'");
}
function DeleteSABySectionTQid(){
//--ใช้เมธอดนี้เพื่อลบข้อมูลเดิมในอ๊อบเจ๊ก
//--เป็นการลบข้อมูลทีละ 1 เรคอร์ด
//--ต้องเรียกเมธอดตามลำดับดังนี้ SearchByKey()-->GetRecord()-->Delete()
return $this->Dml("delete from SectionAll where sectionTQid='$this->sectionTQid'");
}
function GetNextCode(){
//--ใช้เมธอดนี้เพื่อหาค่าสูงสุดของฟิลด์ที่ใช้เป็นคีย์ของตาราง ในลักษณะ auto increment
//--ต้องเป็นฟิลด์ที่ไม่ได้กำหนดรหัสเองทางจอภาพ
$this->SetQuery("select max(sectionid) as num from SectionAll");
if ($result=$this->GetResult()) {
return $result['num']+1;
}
}
function RSSectionAll(){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
$this->SetQuery("select * from SectionAll order by sectionid");
}
function GetRecord(){
//--เป็นเมธอดที่นำข้อมูลจาก ResultSet มากำหนดให้กับแอตทริบิวต์ของอ๊อบเจ็ก
//--เรียก GetRecord() หนึ่งครั้ง จะเลื่อนตัวชี้เรคอร์ดไปอีกหนึ่งเรคอร์ด
if ($this->result = $this->GetResult()) {
$this->sectionid = $this->result['sectionid'];
$this->assid = $this->result['assid'];
$this->sectionRQid = $this->result['sectionRQid'];
$this->sectionTQid = $this->result['sectionTQid'];
$this->sequence = $this->result['sequence'];
return 1;
}else {
return 0;
}
}
function SearchByKey($xKey){
//--ใช้เมธอดนี้เพื่อค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย
//--และต้องตามด้วยเมธอด GetRecord() เสมอ
if ($this->SetQuery("select * from SectionAll where sectionid= '$xKey'")){
return 1;
}else {
return 0;
}
}
function SearchByKeySectionRQid($xKey){
//--ใช้เมธอดนี้เพื่อค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย
//--และต้องตามด้วยเมธอด GetRecord() เสมอ
if ($this->SetQuery("select * from SectionAll where sectionRQid= '$xKey'")){
return 1;
}else {
return 0;
}
}
function SearchByKeySectionTQid($xKey){
//--ใช้เมธอดนี้เพื่อค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย
//--และต้องตามด้วยเมธอด GetRecord() เสมอ
if ($this->SetQuery("select * from SectionAll where sectionTQid= '$xKey'")){
return 1;
}else {
return 0;
}
}
//****************** You can add new functions below **********************//
function getMaxSeqSA($xKey1){
$this->SetQuery("select max(sequence) as num from SectionAll where assid = '$xKey1'");
if ($result=$this->GetResult()) {
return $result['num'];
}
}
function getMinSeqSA($xKey1){
$this->SetQuery("select min(sequence) as num from SectionAll where assid = '$xKey1'");
if ($result=$this->GetResult()) {
return $result['num'];
}
}
function RSCountSectionAll($xKey){
$this->SetQuery("select count(*) as num from SectionAll where assid = '$xKey'");
$result = $this->GetResult();
return $result['num'];
}
function RSCountSectionRQid($xKey1){
$this->SetQuery("select count(sectionRQid) as num from SectionAll where assid = '$xKey1' and sectionRQid > '0'");
$result = $this->GetResult();
return $result['num'];
}
function RSCountSectionTQid($xKey1){
$this->SetQuery("select count(sectionTQid) as num from SectionAll where assid = '$xKey1' and sectionTQid > '0'");
$result = $this->GetResult();
return $result['num'];
}
function SearchSectionRQidByAssidSeq($xKey1,$xKey2){
if ($this->SetQuery("select sectionRQid from SectionAll where assid = '$xKey1' and sequence = '$xKey2'")){
return 1;
}else {
return 0;
}
}
function GetNextCodeSectionRQid(){
$this->SetQuery("select max(sectionRQid) as num from SectionRQ");
if ($result=$this->GetResult()) {
return $result['num']+1;
}
}
function GetNextCodeSectionTQid(){
$this->SetQuery("select max(sectionTQid) as num from SectionTQ");
if ($result=$this->GetResult()) {
return $result['num']+1;
}
}
function RSByKeyAss($xKey){
if ($this->SetQuery("select * from SectionAll where assid= '$xKey' order by sequence")){
return 1;
}else {
return 0;
}
}
function RSSectionAllByKey($xKey1,$xKey2){
if ($this->SetQuery("select * from SectionAll where assid= '$xKey1' and sequence = '$xKey2'")){
return 1;
}else {
return 0;
}
}
} //--End class SectionAll--
?>
|