กำลังทำบอร์ดอยู่เหมือนกัน แต่อยากทราบว่า กระทู้ล่าสุดในบอร์ดทำยังไงถึงจะให้แสดงเฉพาะกระทู้ล่าสุดจริงๆ ไม่แสดงกระทู้อัพเดทที่มีคำว่า Re: นำหน้า
น้องเค้ากลัวผมไม่เข้าใจก็เลยส่งภาพมาให้ดูต่างหน้าด้วย
วิธีทำก็ไม่ซับซ้อนอะไร เอาให้ง่ายๆ เข้าใจง่ายๆ
ฟังก์ชั่นที่ทางระบบ smf ทำไว้แล้วนั้น เราจะไม่ไปแตะต้อง เราเขียนฟังก์ชั่นขึ้นมาใหม่เลยก็แล้วกัน
ดังนี้ครับ
function recentTopics($num=20)
{
global $context, $settings, $db_prefix, $txt, $scripturl, $user_info, $modSettings,$smcFunc;
$request1=$smcFunc['db_query']('','SELECT t.id_topic,m.body,m.subject,mb.member_name
FROM ({db_prefix}topics as t , {db_prefix}messages as m,{db_prefix}members as mb)
WHERE t.id_first_msg=m.id_msg AND m.id_member=mb.id_member
ORDER BY t.id_topic DESC
LIMIT {int:num}',array( 'num'=>$num,
) );
echo "<ul>";
while ($row = mysql_fetch_assoc($request1))
{
echo '<li><a href="/smf/?topic='.$row['id_topic'].'">'.$row['subject'].' </a> โดย '.$row['member_name'].' </li>';
}
echo "</ul>";
mysql_free_result($request1);
}
การนำไปใช้
ก็นำฟังก์ชั่นนี้ไปทิ้งไว้ในไฟล์ index.template.php
ไปใส่ด้านล่างสุดเลยก็ได้ครับ แต่ต้องอยู่ภายในเครื่องหมาย ? >
จากนั้น หาตำแหน่งเหมาะที่อยากให้กระทู้ล่าสุดโชว์ ใส่คำสั่งนี้ไป <?php recentTopics();?>
อยากให้แสดงจำนวนเท่าไร ก็ใส่ตัวเลขในเครื่องหมายวงเล็บไปเท่านั้น
เช่น recentTopics(10);
ก็จะแสดงจำนวนกระทู้ทั้งหมด 10 กระทู้
ฟังก์ชั่นนี้ผมพึ่งเขียนขึ้นแบบง่ายๆ ดังนั้นเลยไม่ได้ตกแต่งให้สวยงาม ถ้าจะนำไปใช้ก็ตกแต่งด้วย css นิดหน่อยก็สวยงามอร่ามตาแล้วละครับ
ก็ประมาณนี้นะครับ ลองเอาไปปรับใช้ดู
ติดขัดตรงไหนก็สอบถามได้ครับ ยินดีถ้าช่วยได้ก็ช่วยเต็มที่
สุด ยอดครับ ไปมาหลายเว็บ ครับ มาที่นี่ ละเอียดยิบ เข้าใจง่าย ไม่มีกั๊ก
ตอบลบขอบคุณครับ