[ ตั้งกระทู้ใหม่ ] |
[ ลบคำถาม
- คำตอบ ] |
if (empty($sequence)) { $selected[0]="selected"; }
if ($sequence == 1) { $selected[1]="selected"; }
if ($sequence == 2) { $selected[2]="selected"; }
if (empty($listpage)) $listpage=10;
if (empty($page)) $page=1;
$listpageselected[$listpage]="selected"; //ตัวกำหนดให้แสดงลิสส์จำนวนหน้า ที่ตำแหน่งลิสส์ที่เลือก
$stop = $page * $listpage;
$start = $stop - $listpage;
if(file_exists($config[fileQuestion])) { // ถ้ามีไฟล์หัวข้อคำถาม
$question = file($config[fileQuestion]);
// เรียงตาม ( วันที่ ) ที่มีคนตอบ
if($sequence==1){
for ($i=0 ; $i<(sizeof($question)-1); $i++) {
for ($j=0 ; $j<(sizeof($question)-1); $j++) {
// แยกข้อมูลในแต่ละบรรทัด ออกเป็นฟิลด์ย่อย
$split = explode("|X|",$question[$j]);
$split1 = explode("|X|",$question[$j+1]);
if($split1[6] >= $split[6]){
$swap = $question[$j];
$question[$j] = $question[$j+1];
$question[$j+1] = $swap;
} //จบ if
} //จบ for j
} //จบ for i
} //จบ if $sequence .. 1
// เรียงตามจำนวนคนตอบ
if($sequence==2){
for ($i=0 ; $i<(sizeof($question)-1); $i++) {
for ($j=0 ; $j<(sizeof($question)-1); $j++) {
// แยกข้อมูลในแต่ละบรรทัด ออกเป็นฟิลด์ย่อย
$split = explode("|X|",$question[$j]);
$split1 = explode("|X|",$question[$j+1]);
//========================================
// วนลูปอ่านข้อมูลหาจำนวนผู้เข้าชม และวันที่ล่าสุดที่ตอบคำถาม
$fileVisitor = $config[dataDir]."$split[0].dat";
if(file_exists($fileVisitor)) {
$lineVisitor = file($fileVisitor);
// แยกข้อมูลในแต่ละบรรทัด ออกเป็นฟิลด์ย่อย
$chkVisitor = explode("||",$lineVisitor[0]);
$ReplyNum = $chkVisitor[0]; //จำนวนผู้ตอบคำถาม
}
$fileVisitor = $config[dataDir]."$split1[0].dat";
if(file_exists($fileVisitor)) {
$lineVisitor = file($fileVisitor);
// แยกข้อมูลในแต่ละบรรทัด ออกเป็นฟิลด์ย่อย
$chkVisitor = explode("||",$lineVisitor[0]);
$ReplyNum1 = $chkVisitor[0]; //จำนวนผู้ตอบคำถาม
}//========================================
if($ReplyNum1 >= $ReplyNum){
$swap = $question[$j];
$question[$j] = $question[$j+1];
$question[$j+1] = $swap;
} //จบ if
} //จบ for j
} //จบ for i
} //จบ if $sequence .. 2
//จำนวนหัวข้อคำถาม
$All_Q = sizeof($question);
// แสดงจำนวนของกระทู้ทั้งหมด และที่เป็นตารางเพราะสืบเนื่องมาจากตารางก่อนหน้านี้ ยังไม่ครบ syntax
echo "";
echo " ";
echo " ";
// แสดงหัวข้อต่างๆ ของตารางแสดงกระทู้
echo "";
echo "";
?>
echo "";
echo "";
echo "กระทู้ที่ | \n";
echo "กระทู้ / Topic | \n";
echo "ผู้ตั้งกระทู้ [วันที่ถาม] | \n";
echo "อ่าน | \n";
echo "ตอบ [วันที่ตอบ] | \n";
echo " \n\n";
for ($i=$start ; $i<$All_Q ; $i++) {
if($i<$stop){
// แยกข้อมูลในแต่ละบรรทัด ออกเป็นฟิลด์ย่อย
$split = explode("|X|",$question[$i]);
$numQuestion = $split[0]; // หมายเลขคำถามที่ไม่มีเลข ศูนย์ นำหน้า
$Question = $split[1]; //คำถาม
$Name = $split[2]; //ผู้ถาม
$Date = trim($split[3]); //วันที่ถาม
$NumReplyDate = $split[6]; //วันที่ตอบคำถามล่าสุด (ค่าเป็นวินาทีนับจากปี ค.ศ. 1900)
// เพิ่มเลข ศูนย์ หน้าหมายเลขคำถาม 4 ตัว
$No = sprintf("%04d",$split[0]);
// หาจำนวนผู้ตอบทั้งหมด
$countR = CountReply($numQuestion); // เป็นตัวบอกว่ามีจำนวนคนตอบกี่คน
// วนลูปอ่านข้อมูลหาจำนวนผู้เข้าชม และวันที่ล่าสุดที่ตอบคำถาม
$fileVisitor = $config[dataDir]."$numQuestion.dat";
if(file_exists($fileVisitor)) {
$lineVisitor = file($fileVisitor);
// แยกข้อมูลในแต่ละบรรทัด ออกเป็นฟิลด์ย่อย
$chkVisitor = explode("||",$lineVisitor[0]);
$Visitor = $chkVisitor[1]; //จำนวนผู้เข้าชม
$ReplyDate = $chkVisitor[2]; //วันที่ตอบคำถามล่าสุด
}
// กำหนดสีของตาราง เพื่อให้มีการสลับสี ค่าของตัวแปร $rowColor อยู่ในไฟล์ config
$bgc = ($bgc==$config[rowColor1]) ? $config[rowColor2] : $config[rowColor1];
$flashOK="";
$imgOK="";
// ตรวจสอบว่ามี flash หรือ รูป อยู่ในกระทู้หรือเปล่า
$chkFile=CheckImage($numQuestion);
if($chkFile[0]==1) $flashOK="";
if($chkFile[1]==1)$imgOK="";
echo "\n";
//ตรวจสอบคนตอบ ในวันนี้
if($Logtime<=($NumReplyDate+86400)) { //86400 วินาที = หนึ่งวัน
$chknew="";
}else {
$chknew="";
}
// กำหนดภาพ icon หน้าหมายเลขกระทู้
// ถ้าต้องการให้ icon ของคำถามฮอต แสดงที่จำนวนคนตอบ ที่เท่าไหร่ก็เปลี่ยนตัวเลขเองนะครับ
//(ในที่นี้คือตอบตั้งแต่ 10 คนขึ้นไป) เปลี่ยนได้ที่ config.php
if($ReplyDate!="-") {
$icon = ($countR>=$config[Hot]) ? "" : "";
}
else {
$icon = ($Date==$mdate) ? "" : "";
}
// แสดงคำถาม
echo " $icon $No | \n";
echo "$Question $imgOK $flashOK $chknew | \n";
echo "$Name[$Date] | \n";
echo " $Visitor | \n";
if($countR!=0){
echo " $countR [$ReplyDate] | \n";
}else {
echo " $countR | \n";
}
echo " \n\n";
} // end if
} // end for
// ปิดตารางแสดงผลกระทู้
echo " \n";
echo " | \n";
echo " \n";
$rt = $All_Q%$listpage;
$totalpage = ($rt!=0) ? floor($All_Q/$listpage)+1 : floor($All_Q/$listpage);
echo "\n";
echo " = คำถามใหม่ \n";
echo " = คำถามที่ยังไม่มีคนตอบ \n";
echo " = คำถามที่ถูกตอบแล้ว \n";
echo " = คำถามสุดฮอต \n";
echo " | \n";
echo " ";
echo "\n";
echo " | \n\n";
echo "\n";
// สร้าง link เพื่อไปหน้าก่อน-หน้าถัดไป
if($page>1 && $page<=$totalpage) {
$prevpage = $page-1;
echo "หน้าก่อนนี้=$prevpage \n";
}
echo "กำลังแสดงหน้าที่ $page/$totalpage\n";
if($page!=$totalpage) {
$nextpage = $page+1;
echo " หน้าถัดไป=$nextpage\n";
}
echo " ";
// วนลูปแสดงเลขหน้าทั้งหมด แบบเป็นช่วงๆ ช่วงละ 10 หน้า
$b=floor($page/10); //หน้า (1 ถึง 9=0) (10 ถึง 19=1) (20 ถึง 29=2)
$c=(($b*10));
if($c>1) {
$prevpage = $c-1;
echo "<< \n";
}
else{
echo "<<\n";
}
echo " ";
for($i=$c; $i<$page ; $i++) {
if($i>0)
echo "$i \n";
}
echo "$page \n";
for($i=($page+1); $i<($c+10) ; $i++) {
if($i<=$totalpage)
echo "$i \n";
}
echo " ";
if($c>=0) {
if(($c+10)<$totalpage){
$nextpage = $c+10;
echo ">> \n";
}
else
echo ">>\n";
}
else{
echo ">>\n";
}
}
// ถ้าไม่มีไฟล์ หัวข้อคำถาม ให้ทำตามนี้
else {
echo " | "; // ปิดตารางของข้อความ [ ตั้งกระทู้ใหม่ | กลับหน้าแรก ] ที่อยู่ในแทก html
echo "
\n";
echo "ยังไม่มีกระทู้ในฐานข้อมูล
\n";
echo "
\n\n";
}
?>
|