0byt3m1n1-V2
Path:
/
home
/
bangtoey
/
domains
/
bangtoey.go.th
/
public_html
/
webboard
/
[
Home
]
File: show10.php
<? // ################################################ // โปรแกรมโชว์กระทู้ตามจำนวนที่ต้องการ (พัฒนาต่อจาก BallkunG) // // ไฟล์นี้ผมเอาโค๊ดที่ BallkunG เคยโพสไว้มาปรับปรุงใหม่ให้ใช้งานง่ายขึ้น // และให้มีความใกล้เคียงกับ ตัวเวปบอร์ด มากที่สุด และให้สอดคล้องกับ Show10.php // ของพี่แสนด้วยครับ.. // // งานนี้ต้องขอขอบคุณทั้ง พี่แสน และน้อง BallkunG ด้วย โฮะ โฮะ โฮะ // ################################################ // การนำไปใช้ครับ ก็เอาโค้ดตรงนี้ไปแปะไว้หน้าที่ต้องการเลยครับ สังเกตบรรทัด include ดี ๆ ก่อนนะครับ ใส่ path ที่อยู่ของสคริปต์ให้ถูกด้วยล่ะ // include("./webboard/show10.php"); // showTop(10); // // อ่านวิธีการติดตั้งโปรแกรมโชว์กระทู้หน้าแรกที่ไฟล์ โชว์กระทู้หน้าแรก.txt ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Windows-874"> <link href="../styles.css" rel="stylesheet" type="text/css"> </head> <? function showTop($NumShow) { // พาธของเว็บบอร์ด (แก้ไขให้ตรงกับพาธเวปบอร์ดที่คุณใช้ แต่ถ้าตั้งเป็น webboard อยู่แล้วก็ไม่ต้องแก้อะไรเลย) $Path = "./webboard"; // แก้ไขจุดนี้เพียงจุดเดียว ก็เกินพอ include("$Path/config.inc.php"); // วนลูปอ่านข้อมูลหาคำถามใหม่ล่าสุด $num=""; $arr=file("webboard/number.txt"); for ($i=0;$i<count($arr); $i++) { $num=$num.$arr[$i]; } // echo $num; // อ่านข้อมูลจาก "ไฟล์หัวข้อคำถาม" if(file_exists("$Path/$fileQuestion")) { //ตรวจสอบว่ามีไฟล์นี้อยู่หรือไม่ $datawb = file("$Path/$fileQuestion") ; // $fileQuestion อยู่ในไฟล์ Config.inc.php // ถ้าจำนวนที่ต้องการแสดง มากกว่า จำนวนคำถามที่มี ให้มีค่าเท่ากับ จำนวนคำถามที่มี if($NumShow > sizeof($datawb)) $NumShow=sizeof($datawb); // วนรอบขอข้อมูล for ( $i=0 ; $i<$NumShow ; $i++ ){ // แกะออกมาทีละเรคคอร์ด (แยกข้อมูลในแต่ละบรรทัด ออกเป็นฟิลด์ย่อย) list ( $numQuestion , $Question , $Name , $Date ) = explode ( "|X|" , $datawb[$i] ) ; // เพิ่มเลข ศูนย์ หน้าหมายเลขคำถาม 4 ตัว $No = sprintf("%04d",$numQuestion); // ถ้าคำถามยาวกว่า 45 ตัวอักษร ให้ตัดเหลือแค่ 45 ตัว if(strlen($Question)>45) { // จำกัดความยาวของกระทู้ที่ 45 ตัวอักษร $Question = substr($Question,0,45)."..."; } // ถ้าชื่อผู้ตั้งคำถามยาวกว่า 10 ตัวอักษร ให้ตัดเหลือแค่ 10 ตัว if(strlen($Name)>50) { // จำกัดความยาวของชื่อที่ 10 ตัวอักษร $Name = substr($Name,0,50).".."; } // วนลูปอ่านข้อมูลในไฟล์คำตอบ แล้วหาจำนวนคำตอบ ** (ที่แท้จริง) ** ทั้งหมด $fileReply = "$Path/$dataDir/R$numQuestion.txt"; $countR=0; // เป็นตัวบอกว่ามีจำนวนคนตอบกี่คน กำหนดเป็นศูนย์ก่อน if(file_exists($fileReply)) { $Reply = file($fileReply); for ($j=0 ; $j<sizeof($Reply) ; $j++) { // แยกข้อมูลในแต่ละบรรทัด ออกเป็นฟิลด์ย่อย $chk = explode("||",$Reply[$j]); // ถ้าฟิลด์ที่ 0 ของข้อมูลที่แบ่งออกมา เท่ากับ "IS_reply" (ตัวแบ่งหมายเลขคำถาม) ให้เพิ่มค่า $countR if(substr($chk[0],0,8) == "IS_reply"){ $countR++; } }// จบลูป for j }//จบ if // วนลูปอ่านข้อมูลหาจำนวนผู้เข้าชม และวันที่ล่าสุดที่ตอบคำถาม $fileVisitor = "$Path/$dataDir/$numQuestion.dat"; if(file_exists($fileVisitor)) { $lineVisitor = file($fileVisitor); $chkVisitor = explode("||",$lineVisitor[0]); // แยกข้อมูลในแต่ละบรรทัด ออกเป็นฟิลด์ย่อย $ReplyDate = $chkVisitor[2]; //วันที่ตอบคำถามล่าสุด }//จบ if // กำหนดภาพ icon หน้าหมายเลขกระทู้ // ถ้าต้องการให้ icon ของคำถามฮอต แสดงที่จำนวนคนตอบ ที่เท่าไหร่ก็เปลี่ยนตัวเลขเองนะครับ (ในที่นี้คือตอบตั้งแต่ 10 คนขึ้นไป) if($ReplyDate!="-") { $icon = ($countR>=10) ? "<img src='$Path/pic/hotfd.gif'>" : "<img src='$Path/pic/openfd.gif'>"; } else { $icon = ($Date==$mdate) ? "<img src='$Path/pic/newfd.gif'>" : "<img src='$Path/pic/closefd.gif'>"; } // กำหนดภาพ icon หน้าหมายเลขกระทู้ // ถ้าต้องการให้ icon ของคำถามใหม่ if($numQuestion==$num) { $icon_n = "<img src='$Path/pic/new_n.gif'>"; } else { $icon_n = ""; } // พร้อมแล้ว ลุยโลด (แสดงคำถาม) echo " $icon <a href='$Path/view.php?No=$numQuestion' target=\"_blank\" class=\"styles2\"> $Question</a> <span class=\"styles1\">$Name [$Date] </span> $icon_n<br>"; }// จบ for ครับ }else { // ถ้าไม่มีไฟล์หัวข้อคำถาม echo "<br><br><font color=red ><b>\n"; echo "<p align=center>ยังไม่มีหัวข้อเสวนา<br></p></b>\n"; echo "</font> <br><br>\n\n"; } }// จบส่วนของฟังก์ชั่น ?> </html>
©
2018.