[SMF] การแสดงหัวข้อหรือกระทู้ล่าสุด (RecentTopics) แบบเขียนเอง

[SMF] การแสดงหัวข้อหรือกระทู้ล่าสุด (RecentTopics) แบบเขียนเอง
การเขียน php + sql เพื่อแสดงกระทู้ล่าสุดของ SMF อันที่จริงบอร์ด smf เขามีให้ใช้อยู่ แต่ผมไม่ถนัดในการตกแต่งแบบนั้นซะเท่า่ไหร่ จึงเขียนขึ้นมาเอง เพราะสามารถใช้ bootstrap  ในการแสดงผลที่สวยงามได้ดีกว่า ที่สำคัญทำให้กระทู้มีคำว่า new หรือ ล่าสุด หรือ ใหม่ หรือ update หรือรูปแสดงอารมณ์บ่งบอกได้ดีกว่า ผมว่านะ
คิดอยู่ทั้งคืนว่าจะเขียนออกมายังไง เอาค่าเวลาไปเซ็คกับกระทู้ยังไงให้ ออกมาว่ามีคนมาตอบแล้วนะ ให้ขึ้นล่าสุด ถ้าเพิ่งมาตั้งกระทู้ใหม่ก็ให้ขึ้นว่า new icon [SMF] การแสดงหัวข้อหรือกระทู้ล่าสุด (RecentTopics) แบบเขียนเอง update [SMF] การแสดงหัวข้อหรือกระทู้ล่าสุด (RecentTopics) แบบเขียนเอง
แบบนี้จะออกมาเป็น code แบบไหนกันมาดูเลยครับ
 < ?php
include("config.php");
$cupreportdb = "forum";
mysql_connect($host,$user,$passwd) ;
mysql_select_db($cupreportdb);
mysql_query("SET NAMES UTF8");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");

  $sql6="SELECT *,MAX(poster_time) as postreply FROM smf_messages a,smf_boards b WHERE a.id_board=b.id_board  and b.id_cat='2' and a.id_board='16' GROUP BY id_topic ORDER BY poster_time DESC limit 10";
  $result6=mysql_query($sql6);
    while($rs6=mysql_fetch_array($result6)) {
   $id_board=$rs6[id_board];
   $id_topic=$rs6[id_topic];
   $subject=$rs6[subject];
   $poster_name=$rs6[poster_name];
   $poster_timex=$rs6[poster_time];
   $postreply=$rs6[postreply];
   $poster_time=date("Y-m-d H:i:s",$poster_timex);
    
    //เพิ่มรูปกระทู้ใหม่
   if($Logtime<=($poster_timex+86400) && $poster_timex>0) {  //172800 วินาที = 2วัน  86400 = 1day
    $chknew="<img src='new-icon.gif'/>";
   }else {
    $chknew="";
   }
  //เพิ่มรูปตอบกลับ
   if($Logtime< =($postreply+179800) && $postreply>0) {  //172800 วินาที = 2วัน  86400 = 1day
    $chknew2="<img src='update.gif'/>";
   }else {
    $chknew2="";
   }

   // แสดงคำถาม
   echo "<a href="http://cupphonsai.thaiddns.com/forum/index.php?topic=$id_topic.0" target="_blank" class="list-group-item"><i class="fa fa-comment fa-fw"></i>$subject  <span class="pull-right text-muted small"><em>by  $poster_name : $poster_time   $chknew  $chknew2  </em></span> </a>";
  }
  ?>
ช่วงแสดงคำถามก็จัด style bootstrap ได้เลย
ส่วน function ที่เรียกหาคือ
//(1) ปรับเวลาให้ตรงกับเวลาเมืองไทย กรณีที่ server อยู่ที่เมืองนอก โดยความสำคัญอยู่ที่ตัวแปร $hour และ $min 
 $hour = 0;   //ปรับให้ตรงตามต้องการ เช่น เป็นค่าบวก หรือค่าลบ เพื่อให้เวลาของ server ตรงกับเวลาจริง
 $min = 0;  //ปรับให้ตรงตามต้องการ
 $Year = date("Y")+543;
 $thaimonth=array("ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.", "พ.ย.","ธ.ค.");

  // 12:36
 $mtime = date("H:i",mktime( date("H")+$hour, date("i")+$min ));
 // 03 ส.ค. 2544
 $m2date = date("d ",mktime( date("H")+$hour, date("i")+$min )). $thaimonth[date("m")-1]." ".$Year; 
 // ได้ค่าเป็น วินาที นับจากปี ค.ศ.1900
 $Logtime = date("U",mktime( date("H")+$hour, date("i")+$min ));
[SMF] การแสดงหัวข้อหรือกระทู้ล่าสุด (RecentTopics) แบบเขียนเอง [SMF] การแสดงหัวข้อหรือกระทู้ล่าสุด (RecentTopics) แบบเขียนเอง Reviewed by IOffer on กรกฎาคม 15, 2560 Rating: 5

ไม่มีความคิดเห็น:

แจก Function หาขนาดไฟล์ในโฟลเดอร์ PHP

แจก Function หาขนาดไฟล์ในโฟลเดอร์ PHP  function format_folder_size($size) {  if ($size >= 1073741824)  {   $size = number_format($size / ...

ขับเคลื่อนโดย Blogger.