หัวข้อ: การสุ่มภาพไฟล์แนบมาโชว์ที่หน้าแรกทำยังไงครับ SMF
เริ่มหัวข้อโดย: jabkitticha ที่ 15 กันยายน 2013, 05:34:33
การสุ่มภาพไฟล์แนบมาโชว์ที่หน้าแรกทำยังไงครับ SMF
แบบเว็บ http://www.koratphotoclub.net/ ครับ
ภาพตัวอย่าง
(http://image.ohozaa.com/i/270/TDYB5T.jpg)
หัวข้อ: Re: การสุ่มภาพไฟล์แนบมาโชว์ที่หน้าแรกทำยังไงครับ SMF
เริ่มหัวข้อโดย: nociouz ที่ 15 กันยายน 2013, 10:14:52
google > random image smf
หัวข้อ: Re: การสุ่มภาพไฟล์แนบมาโชว์ที่หน้าแรกทำยังไงครับ SMF
เริ่มหัวข้อโดย: jabkitticha ที่ 15 กันยายน 2013, 12:27:40
google > random image smf
ผมอยากได้ ไปโชว์ที่ หน้าเว็บหลัก อะครับ อันที่ท่านให้มาเคยลองแล้วครับ มัน ตั้งค่าไรไม่ได้เลย และมันโชว์ในบอร์ดครับ
หัวข้อ: Re: การสุ่มภาพไฟล์แนบมาโชว์ที่หน้าแรกทำยังไงครับ SMF
เริ่มหัวข้อโดย: jabkitticha ที่ 15 กันยายน 2013, 17:00:07
ใครทราบรบกวนหน่อยนะครับ
หัวข้อ: Re: การสุ่มภาพไฟล์แนบมาโชว์ที่หน้าแรกทำยังไงครับ SMF
เริ่มหัวข้อโดย: jabkitticha ที่ 16 กันยายน 2013, 12:32:08
:wanwan011: รอครับ ใครรู้บ้างครับ บอกผมที
หัวข้อ: Re: การสุ่มภาพไฟล์แนบมาโชว์ที่หน้าแรกทำยังไงครับ SMF
เริ่มหัวข้อโดย: SWOY ที่ 16 กันยายน 2013, 14:28:30
ปกติ SMF มันจะมีไฟล์ SSI.php ซึ่งรวมฟังชั่นไว้ในนั้นค่อนข้างเยอะครับ หนึ่งในนั้น มี ฟังชั้นที่ชื่อว่า ssi_recentAttachments อยู่ ซึ่งจะแสดงไฟล์แนบล่าสุดครับ เราสามารถปรับตัวนี้มาใช้ได้เลย วิธีการใช้ก็แค่ include ไฟล์ SSI.php แล้วเรียกใช้ฟังชั่นได้เลย แต่ถ้าหากไม่ซีเรียสเรื่อง permission ของแต่ละบอร์ดก็เขียนบ้านๆ แบบนี้ก็ได้ครับ เขียนในไฟล์ SSI.php ก็ได้ครับง่ายดี จะได้ประมาณว่า <?php function AttRAND($num = 1) { global $smcFunc, $context, $modSettings, $scripturl, $txt, $settings; $request = $smcFunc['db_query']('', ' SELECT m.id_topic, m.subject, att.id_attach, att.id_thumb, att.id_msg FROM {db_prefix}attachments AS att INNER JOIN {db_prefix}messages AS m ON (att.id_msg = m.id_msg) WHERE att.id_thumb = 0 ORDER BY RAND() LIMIT {int:num}', array( 'num' => $num, ) ); $attachments = array(); while ($row = $smcFunc['db_fetch_assoc']($request)){ $attachments[] = array( 'id' => $row['id_attach'], 'src' => $scripturl . '?action=dlattach;topic=' . $row['id_topic'] . '.0;attach=' . $row['id_attach']. ';image', 'img' => '<img src="'. $scripturl . '?action=dlattach;topic=' . $row['id_topic'] . '.0;attach=' . $row['id_attach']. ';image" alt="" />', 'href' => $scripturl . '?topic=' . $row['id_topic'], 'link' => '<a href="'. $scripturl . '?topic=' . $row['id_topic'] .'" target="_blank">' . $row['subject'] . '</a>' ); } return $attachments; } ?> เวลาใช้งานก็ เหมือนที่บอกข้างต้น <?php include "SSI.php"; // path SSI.php $att = AttRAND(2); // 2 Num Attachments print_r($att); ?> ที่เหลือก็แล้วแต่การวาง css แล้วล่ะครับ :wanwan003:
หัวข้อ: Re: การสุ่มภาพไฟล์แนบมาโชว์ที่หน้าแรกทำยังไงครับ SMF
เริ่มหัวข้อโดย: jabkitticha ที่ 17 กันยายน 2013, 22:39:11
ปกติ SMF มันจะมีไฟล์ SSI.php ซึ่งรวมฟังชั่นไว้ในนั้นค่อนข้างเยอะครับ หนึ่งในนั้น มี ฟังชั้นที่ชื่อว่า ssi_recentAttachments อยู่ ซึ่งจะแสดงไฟล์แนบล่าสุดครับ เราสามารถปรับตัวนี้มาใช้ได้เลย วิธีการใช้ก็แค่ include ไฟล์ SSI.php แล้วเรียกใช้ฟังชั่นได้เลย แต่ถ้าหากไม่ซีเรียสเรื่อง permission ของแต่ละบอร์ดก็เขียนบ้านๆ แบบนี้ก็ได้ครับ เขียนในไฟล์ SSI.php ก็ได้ครับง่ายดี จะได้ประมาณว่า <?php function AttRAND($num = 1) { global $smcFunc, $context, $modSettings, $scripturl, $txt, $settings; $request = $smcFunc['db_query']('', ' SELECT m.id_topic, m.subject, att.id_attach, att.id_thumb, att.id_msg FROM {db_prefix}attachments AS att INNER JOIN {db_prefix}messages AS m ON (att.id_msg = m.id_msg) WHERE att.id_thumb = 0 ORDER BY RAND() LIMIT {int:num}', array( 'num' => $num, ) ); $attachments = array(); while ($row = $smcFunc['db_fetch_assoc']($request)){ $attachments[] = array( 'id' => $row['id_attach'], 'src' => $scripturl . '?action=dlattach;topic=' . $row['id_topic'] . '.0;attach=' . $row['id_attach']. ';image', 'img' => '<img src="'. $scripturl . '?action=dlattach;topic=' . $row['id_topic'] . '.0;attach=' . $row['id_attach']. ';image" alt="" />', 'href' => $scripturl . '?topic=' . $row['id_topic'], 'link' => '<a href="'. $scripturl . '?topic=' . $row['id_topic'] .'" target="_blank">' . $row['subject'] . '</a>' ); } return $attachments; } ?> เวลาใช้งานก็ เหมือนที่บอกข้างต้น <?php include "SSI.php"; // path SSI.php $att = AttRAND(2); // 2 Num Attachments print_r($att); ?> ที่เหลือก็แล้วแต่การวาง css แล้วล่ะครับ :wanwan003: ขอบคุณครับ ผมไปลองดัดแปลงดูแล้วนะครับ ขอโทดที่ไม่ได้บอกตั้งแต่แรกครับ ถ้าผมจะกำหนด ด้วยเช่นว่าให้ดึงมาจาก บอร์ด id 5,6,7 เท่านั้นจะทำได้มั้ยครับ และ ให้ มันแสดง เป็นชื่อ คนโพสต์แทน ชื่อหัวข้อได้มั้ยครับ ห้าๆ อยากตัด คำว่า อเลย์ ออกด้วยอะครับ ช่วยแก้ให้หน่อยนะครับ (http://image.ohozaa.com/i/0e9/UuHUes.jpg) นี่โค๊ดครับ function AttRAND($num = 1) { global $smcFunc, $context, $modSettings, $scripturl, $txt, $settings; $request = $smcFunc['db_query']('', ' SELECT m.id_topic, m.subject, att.id_attach, att.id_thumb, att.id_msg FROM {db_prefix}attachments AS att INNER JOIN {db_prefix}messages AS m ON (att.id_msg = m.id_msg) WHERE att.id_thumb = 0 ORDER BY RAND() LIMIT {int:num}', array( 'num' => $num, 'poster_name' => $row['poster_name'], ) ); $attachments = array(); while ($row = $smcFunc['db_fetch_assoc']($request)){ $attachments[] = array(
'<a href="'. $scripturl . '?topic=' . $row['id_topic'] .'"
target="_blank">'. '<img src="'. $scripturl . '?action=dlattach;topic=' . $row['id_topic'] .
'.0;attach=' . $row['id_attach']. ';image" width="300" alt="" />'.'</a>',
'<a href="'. $scripturl . '?topic=' . $row['id_topic'] .'"
target="_blank">'. $row['subject'] . '</a>' ); } return $attachments; }
หัวข้อ: Re: การสุ่มภาพไฟล์แนบมาโชว์ที่หน้าแรกทำยังไงครับ SMF
เริ่มหัวข้อโดย: jabkitticha ที่ 18 กันยายน 2013, 11:55:43
รอนะครับ
|