ThaiSEOBoard.com

พัฒนาเว็บไซต์ => CMS & Free Script => ข้อความที่เริ่มโดย: jabkitticha ที่ 15 กันยายน 2013, 05:34:33



หัวข้อ: การสุ่มภาพไฟล์แนบมาโชว์ที่หน้าแรกทำยังไงครับ 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[&#39;db_query&#39;](&#39;&#39;, &#39;
SELECT m.id_topicm.subjectatt.id_attachatt.id_thumbatt.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}&#39;,
array(
&#39;num&#39; => $num,
)
);
$attachments = array();
while ($row $smcFunc[&#39;db_fetch_assoc&#39;]($request)){
$attachments[] = array(
&#39;id&#39; => $row[&#39;id_attach&#39;],
&#39;src&#39; => $scripturl . &#39;?action=dlattach;topic=&#39; . $row[&#39;id_topic&#39;] . &#39;.0;attach=&#39; . $row[&#39;id_attach&#39;]. &#39;;image&#39;,
&#39;img&#39; => &#39;<img src="&#39;. $scripturl . &#39;?action=dlattach;topic=&#39; . $row[&#39;id_topic&#39;] . &#39;.0;attach=&#39; . $row[&#39;id_attach&#39;]. &#39;;image" alt="" />&#39;,
&#39;href&#39; => $scripturl . &#39;?topic=&#39; . $row[&#39;id_topic&#39;],
&#39;link&#39; => &#39;<a href="&#39;. $scripturl . &#39;?topic=&#39; . $row[&#39;id_topic&#39;] .&#39;" target="_blank">&#39; . $row[&#39;subject&#39;] . &#39;</a>&#39;
);
}
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
รอนะครับ