[SMF] การแสดงหัวข้อหรือกระทู้ล่าสุด (RecentTopics) แบบเขียนเอง
การเขียน php + sql เพื่อแสดงกระทู้ล่าสุดของ SMF อันที่จริงบอร์ด smf เขามีให้ใช้อยู่ แต่ผมไม่ถนัดในการตกแต่งแบบนั้นซะเท่า่ไหร่ จึงเขียนขึ้นมาเอง เพราะสามารถใช้ bootstrap ในการแสดงผลที่สวยงามได้ดีกว่า ที่สำคัญทำให้กระทู้มีคำว่า new หรือ ล่าสุด หรือ ใหม่ หรือ update หรือรูปแสดงอารมณ์บ่งบอกได้ดีกว่า ผมว่านะ
คิดอยู่ทั้งคืนว่าจะเขียนออกมายังไง เอาค่าเวลาไปเซ็คกับกระทู้ยังไงให้ ออกมาว่ามีคนมาตอบแล้วนะ ให้ขึ้นล่าสุด ถ้าเพิ่งมาตั้งกระทู้ใหม่ก็ให้ขึ้นว่า
![[SMF] การแสดงหัวข้อหรือกระทู้ล่าสุด (RecentTopics) แบบเขียนเอง update [SMF] การแสดงหัวข้อหรือกระทู้ล่าสุด (RecentTopics) แบบเขียนเอง](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_t7tzF3C3kw41idk7bHDIpWtjGZjDfHLWKyAv8S_smcp45HiR_OS6A0eLU5mu7kT7VMxBpOnFHWxju8DWOZgLT7jkap4Bp3d-t8LTlVI9Mr6jmNek0OBwb411gZ8s59U_75y0ktkG9zrI4ayZGGhBNOkVqisb5iBMOREXcC2Du-vAny1puJHQ=s0-d)
แบบนี้จะออกมาเป็น code แบบไหนกันมาดูเลยครับ
ส่วน function ที่เรียกหาคือ
การเขียน php + sql เพื่อแสดงกระทู้ล่าสุดของ SMF อันที่จริงบอร์ด smf เขามีให้ใช้อยู่ แต่ผมไม่ถนัดในการตกแต่งแบบนั้นซะเท่า่ไหร่ จึงเขียนขึ้นมาเอง เพราะสามารถใช้ bootstrap ในการแสดงผลที่สวยงามได้ดีกว่า ที่สำคัญทำให้กระทู้มีคำว่า new หรือ ล่าสุด หรือ ใหม่ หรือ update หรือรูปแสดงอารมณ์บ่งบอกได้ดีกว่า ผมว่านะ
คิดอยู่ทั้งคืนว่าจะเขียนออกมายังไง เอาค่าเวลาไปเซ็คกับกระทู้ยังไงให้ ออกมาว่ามีคนมาตอบแล้วนะ ให้ขึ้นล่าสุด ถ้าเพิ่งมาตั้งกระทู้ใหม่ก็ให้ขึ้นว่า
แบบนี้จะออกมาเป็น 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) แบบเขียนเอง
Reviewed by IOffer
on
กรกฎาคม 15, 2560
Rating:
ไม่มีความคิดเห็น:
แสดงความคิดเห็น