Viewing file: clsTextQuestion.php (5.77 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
//--Class TextQuestion--------------------------
//--PK of TextQuestion ::
// 1. TQid
//include_once "clsDB.php";
class TextQuestion extends clsDB{
var $result;
var $TQid;
var $assid;
var $sectionTQid;
var $nameTQ;
var $sequence;
function TextQuestion(&$c){
$this->c=$c->c;
$this->DB=$c->db;
}
function Save(){
//--ใช้เมธอดนี้เมื่อต้องการบันทึกข้อมูลในอ๊อบเจ๊กเข้าสู่ฐานข้อมูล
//--โดยจะตรวจสอบสถานะของข้อมูลว่าข้อมูลในอ๊อบเจ๊กเป็นข้อมูลใหม่หรือข้อมูลเดิม
//--1 เป็นข้อมูลใหม่ 2 เป็นข้อมูลเดิม
if ($this->status==1){
//uncomment a line below if your table use ID as running number
$this->TQid=$this->GetNextCode();
$this->sequence = $this->GetNextCode();
$sql = "insert into TextQuestion values(
'$this->TQid',
'$this->assid',
'$this->sectionTQid',
'$this->nameTQ',
'$this->sequence'
)";
}else {
$sql = "update TextQuestion set
assid='$this->assid',
sectionTQid='$this->sectionTQid',
nameTQ='$this->nameTQ',
sequence='$this->sequence'
where TQid='$this->TQid'";
}
//echo "<br> sql = ".$sql;
return $this->Dml($sql);
}
function Delete(){
//--ใช้เมธอดนี้เพื่อลบข้อมูลเดิมในอ๊อบเจ๊ก
//--เป็นการลบข้อมูลทีละ 1 เรคอร์ด
//--ต้องเรียกเมธอดตามลำดับดังนี้ SearchByKey()-->GetRecord()-->Delete()
return $this->Dml("delete from TextQuestion where TQid='$this->TQid'");
}
function DeleteTQBySectonTQid(){
//--ใช้เมธอดนี้เพื่อลบข้อมูลเดิมในอ๊อบเจ๊ก
//--เป็นการลบข้อมูลทีละ 1 เรคอร์ด
//--ต้องเรียกเมธอดตามลำดับดังนี้ SearchByKey()-->GetRecord()-->Delete()
$sql = "delete from TextQuestion where sectionTQid = '$this->sectionTQid'";
//echo "<br> sql TextQuestion delete by sectionRQid ==> ".$sql;
return $this->Dml($sql);
}
function GetNextCode(){
//--ใช้เมธอดนี้เพื่อหาค่าสูงสุดของฟิลด์ที่ใช้เป็นคีย์ของตาราง ในลักษณะ auto increment
//--ต้องเป็นฟิลด์ที่ไม่ได้กำหนดรหัสเองทางจอภาพ
$this->SetQuery("select max(TQid) as num from TextQuestion");
if ($result=$this->GetResult()) {
return $result['num']+1;
}
}
function RSTextQuestion(){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
$this->SetQuery("select * from TextQuestion order by TQid");
}
function GetRecord(){
//--เป็นเมธอดที่นำข้อมูลจาก ResultSet มากำหนดให้กับแอตทริบิวต์ของอ๊อบเจ็ก
//--เรียก GetRecord() หนึ่งครั้ง จะเลื่อนตัวชี้เรคอร์ดไปอีกหนึ่งเรคอร์ด
if ($this->result = $this->GetResult()) {
$this->TQid = $this->result['TQid'];
$this->assid = $this->result['assid'];
$this->sectionTQid = $this->result['sectionTQid'];
$this->nameTQ = $this->result['nameTQ'];
$this->sequence = $this->result['sequence'];
return 1;
}else {
return 0;
}
}
function SearchByKey($xKey){
//--ใช้เมธอดนี้เพื่อค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย
//--และต้องตามด้วยเมธอด GetRecord() เสมอ
if ($this->SetQuery("select * from TextQuestion where TQid= '$xKey'")){
return 1;
}else {
return 0;
}
}
function SearchByKeySectionTQid($xKey){
//--ใช้เมธอดนี้เพื่อค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย
//--และต้องตามด้วยเมธอด GetRecord() เสมอ
if ($this->SetQuery("select * from TextQuestion where sectionTQid= '$xKey'")){
return 1;
}else {
return 0;
}
}
//****************** You can add new functions below **********************//
function RSTextQByKey($xKey1,$xKey2){
$sql = "select * from TextQuestion where assid= '$xKey1' and sectionTQid = '$xKey2' order by 'sequence'";
$this->SetQuery($sql);
}
function RSSearchTQByKey($xassid,$xTQid,$xsectionTQid){
$sql = "select * from TextQuestion where assid= '$xassid' and TQid = '$xTQid' and sectionTQid = '$xsectionTQid'";
$this->SetQuery($sql);
}
function getMinSeqTQ($xKey1,$xKey2){
$this->SetQuery("select min(sequence) as num from TextQuestion where assid = '$xKey1' and sectionTQid = '$xKey2'");
if ($result=$this->GetResult()) {
return $result['num'];
}
}
function getMaxSeqTQ($xKey1,$xKey2){
$this->SetQuery("select max(sequence) as num from TextQuestion where assid = '$xKey1' and sectionTQid = '$xKey2'");
if ($result=$this->GetResult()) {
return $result['num'];
}
}
function RSCountLevel($xKey1,$xKey2){
$this->SetQuery("select count(*) as num from TextQuestion where assid = '$xKey1' and sectionTQid = '$xKey2'");
$result = $this->GetResult();
return $result['num'];
}
function CountByAssidSectionTQid($xassid,$xsectionTQid){
$this->SetQuery("select count(*) as num from TextQuestion where assid = '$xassid' and sectionTQid = '$xsectionTQid'");
$result = $this->GetResult();
return $result['num'];
}
function swapQuestion($xud,$xassid,$xTQid,$xsectionTQid,$xsequence){
if($xud == "u"){
$sql = "select TQid, sequence from TextQuestion where assid = '$xassid' and sequence < '$xsequence' order by 'sequence' Desc limit 0,1";
$this->SetQuery($sql);
$result=$this->GetResult();
$upTQid = $result['TQid'];
$upSequence = $result['sequence'];
$sql = "update TextQuestion set sequence = '$xsequence' where TQid = '$upTQid'";
$this->Dml($sql);
$sql = "update TextQuestion set sequence = '$upSequence' where TQid = '$xTQid'";
$this->Dml($sql);
}
if($xud == "d"){
$sql = "select TQid, sequence from TextQuestion where assid = '$xassid' and sequence > '$xsequence' order by 'sequence' limit 0,1";
$this->SetQuery($sql);
$result=$this->GetResult();
$upTQid = $result['TQid'];
$upSequence = $result['sequence'];
$sql = "update TextQuestion set sequence = '$xsequence' where TQid = '$upTQid'";
$this->Dml($sql);
$sql = "update TextQuestion set sequence = '$upSequence' where TQid = '$xTQid'";
$this->Dml($sql);
}
}
} //--End class TextQuestion--
?>
|