Home Webboard ArticlesKnowledges  

ตอบ

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.
ชื่อ:
อีเมล์:
หัวข้อ:
ไอค่อนข้อความ:

ใส่รูปในกระทู้ คลิก >>
Verification:
ธงชาติไทยมีกี่สี ตอบเป็นเลขอารบิก:

shortcuts: กด alt+s เพื่อตั้งกระทู้ หรือ alt+p แสดงตัวอย่าง


สรุปหัวข้อ

ข้อความโดย: เซียวเหล่งนึ่งฯ
« เมื่อ: 06, มกราคม 2011, 12:33:07 PM »

ที่อ้างถึงมานั่นแหละของ 1.1*
2.0 มันมีมาให้แล้ว
ข้อความโดย: robby
« เมื่อ: 06, มกราคม 2011, 01:37:24 AM »

1. แก้ไฟล์  SSI.php
ค้นหา
โค๊ด: newbielink:javascript:void(0); [nonactive]
?>วางก่อนที่ค้นหา
โค๊ด: newbielink:javascript:void(0); [nonactive]
// Show the recent attachments.
function ssi_recentAttachments($num_attachments = 8, $attachment_type = 'all', $output_method = 'echo')
{
global $db_prefix, $scripturl, $context, $txt, $func, $modSettings;

// Lets get the boards that we can view attachments on.
$attachment_boards = boardsAllowedTo('view_attachments');

// Adios.
if (empty($attachment_boards))
return array();

// Clause.
$boards_clause = isset($attachment_boards[0]) ? '' : "AND t.ID_BOARD IN(" . implode(',', $attachment_boards) . ")";

// Now for the type of attachment.  By default all attachments.
switch ($attachment_type)
{
case 'images':
$fileTypes = array('jpg', 'jpeg', 'png', 'gif', 'bmp', 'tiff');
break;
case 'music':
$fileTypes = array('mp3', 'wav', 'wma');
break;
case 'videos':
$fileTypes = array('wmv', 'mov', 'mpg', 'mpeg', 'avi');
break;
case 'doc':
$fileTypes = array('doc', 'pdf', 'txt');
break;
case 'archive':
$fileTypes = array('zip', 'tar', 'tar.gz', 'rar', '7z');
break;
default:
$fileTypes = array();
break;
}

// Check to see if the extension is 4 chars long
$ext = array();
foreach ($fileTypes as $type)
$ext[] = "RIGHT(att.filename, " . strlen($type) . ") = '" . $type . "'";

// Make the clause for the query
$filter_ext = empty($ext) ? '' : "AND (" . implode(' OR ', $ext) . ")";

$request = db_query($query = "
SELECT
att.ID_ATTACH, att.ID_MSG, att.filename, IFNULL(att.size, 0) AS filesize, att.downloads, mem.ID_MEMBER,
IFNULL(mem.realName, m.posterName) AS posterName, m.ID_TOPIC, m.subject, t.ID_BOARD, m.posterTime,
att.width, att.height, IFNULL(thumb.ID_ATTACH, 0) AS ID_THUMB, thumb.width AS thumb_width, thumb.height AS thumb_height
FROM ({$db_prefix}attachments AS att, {$db_prefix}messages AS m, {$db_prefix}topics AS t)
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = m.ID_MEMBER)
LEFT JOIN {$db_prefix}attachments AS thumb ON (thumb.ID_ATTACH = att.ID_THUMB)
WHERE t.ID_TOPIC = m.ID_TOPIC
AND att.ID_MSG = m.ID_MSG
AND att.attachmentType = 0
$boards_clause
$filter_ext
ORDER BY att.ID_ATTACH DESC
LIMIT $num_attachments", false, false);

$attachments = array();
$image_ids = array();
while ($row = mysql_fetch_assoc($request))
{
$is_image = !empty($row['width']) && !empty($row['height']);

$attachments[$row['ID_ATTACH']] = array(
'member' => array(
'id' => $row['ID_MEMBER'],
'name' => $row['posterName'],
'link' => empty($row['ID_MEMBER']) ? $row['posterName'] : '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['posterName'] . '</a>',
),
'file' => array(
'filename' => $row['filename'],
'filesize' => round($row['filesize'] / 1024, 2) . $txt['smf211'],
'download' => $scripturl . '?action=dlattach;topic=' . $row['ID_TOPIC'] . '.0;attach=' . $row['ID_ATTACH'],
'downloads' => $row['downloads'],
'is_image' => $is_image,
),
'topic' => array(
'id' => $row['ID_TOPIC'],
'ID_BOARD' => $row['ID_BOARD'],
'subject' => str_replace($txt['response_prefix'], '', $row['subject']),
'link' => '<a href="' . $scripturl . '?topic=' . $row['ID_TOPIC'] . '.msg' . $row['ID_MSG'] . '#msg' . $row['ID_MSG'] . '">' . $func['ucwords'](strtolower($row['subject'])) . '</a>',
'time' => timeformat($row['posterTime']),
),
);

// Image.
if ($is_image)
{
$ID_THUMB = empty($row['ID_THUMB']) ? $row['ID_ATTACH'] : $row['ID_THUMB'];
$attachments[$row['ID_ATTACH']]['file']['thumbnail'] = array(
'id' => $ID_THUMB,
'href' => $scripturl . '?action=dlattach;topic=' . $row['ID_TOPIC'] . '.0;attach=' . $ID_THUMB . ';image',
'img' => '<img src="' . $scripturl . '?action=dlattach;topic=' . $row['ID_TOPIC'] . '.0;attach=' . $ID_THUMB . ';image" />',
'width' => $row['width'],
'height' => $row['height'],
'link' => '<a href="' . $attachments[$row['ID_ATTACH']]['file']['download'] . '"><img src="' . $scripturl . '?action=dlattach;topic=' . $row['ID_TOPIC'] . '.0;attach=' . $ID_THUMB . ';image" /></a>',
);
$image_ids[] = $row['ID_ATTACH'];
}
}
mysql_free_result($request);

// So you just want an array?  Here you can have it.
if ($output_method == 'array')
return $attachments;

// Give them the default.
echo '
<table class="ssi_table">
<tr>
<th align="left">Attachment</th>
<th align="left">Poster</th>
<th align="left">Downloads</th>
<th align="left">Filesize</th>
</tr>';
foreach ($attachments as $attach)
echo '
<tr>
<td>', $attach['file']['filename'], '</td>
<td>', $attach['member']['link'], '</td>
<td>', $attach['file']['downloads'], '</td>
<td>', $attach['file']['filesize'], '</td>
</tr>';
echo '
</table>';
}

อธิบาย
จุดนี้เราจะได้ฟังชัน  ssi_recentAttachments เพิ่มมาอีก 1 ใช้ตัวนี้ให้เป้นประโยชน์
ไม่ว่าจะโชว์ไฟล์แนบ หรือโชว์รูปแนบ ฟังชันนี้ใช้ได้ทั้งนั้น
การใช้งานก็เหมือนพวกกระทู้ล่าสุด คือใช้ไฟล์ตรงก็ได้ หรือจะใช้ iframe ก็ได้

ตัวอย่างนี้  คือการใช้ไฟล์ เพื่อไปแสดงรูปใน iframe

2. สร้างไฟล์   show.php  อัพขึ้นไว้ที่เดียวกับ SSI.php
เป็นไฟลืที่ดึงเอา ssi_recentAttachments มาแสดงผล
โค๊ดนี้จะจัดอย่างไรก็แล้วแต่เรา
ใช้พื้นฐานเอชทีเอมแอลนี่แหละ จัดให้สวยงาม
ตัวอย่างโค๊ด

โค๊ด: newbielink:javascript:void(0); [nonactive]
<?php
require_once('SSI.php');

$attachments ssi_recentAttachments(10'images''array');
echo 
'
    <table>'
;
foreach (
$attachments as $attach)
{
    echo 
'
        <tr>
            <td>'
$attach['file']['thumbnail']['link'], '</td>
            <td>
                <table>
                    <tr>
                        <td>Posted By: '
$attach['member']['link'], '</td>
                    </tr>
                    <tr>
                        <td>Date Posted: '
$attach['topic']['time'], '</td>
                    </tr>
                    <tr>
                        <td>Topic: '
$attach['topic']['link'], '</td>
                    </tr>
                </table>
            </td>
        </tr>'
;
}
echo 
'
    </table>'
;

?>


3. ใช้ไอเฟรมในการนำไฟล์ไปแสดงผล  จะวางที่ไหนจะจัดยังไงก็แล้วแต่

โค๊ด: newbielink:javascript:void(0); [nonactive]
 <iframe name=I1 width="100%" align=center border=0 frameborder=0
   src="http://www.เว็บของคุณ.โดเมน/webboard/show.php" height=300 target="_blank">
  </iframe>



มีโค๊ดสำหรับเวอร์ชั่น 1.1.xx ไหมครับ ขอบคุณครับ
ข้อความโดย: kaikub
« เมื่อ: 20, กันยายน 2010, 01:11:42 PM »

ขอบคุณมากครับสำหรับความรู้ดีๆ ขอถามนิดครับว่าทำอย่างไรให้ภาพปรับขนาดได้ เพราะที่ได้มาใหญ่มากครับ ขอบคุณครับ
ข้อความโดย: dekskoy
« เมื่อ: 14, กันยายน 2010, 09:10:14 PM »

เสียดายจังที่กระทู้จบไป โดยหาข้อสรุปไม่ได้
แต่ไม่เป็นไรครับ ค้นหากันต่อไป วันหนึ่งคงได้คำตอบที่ต้องการ  ขอบคุณครับ :smiley: :smiley: :smiley:
ข้อความโดย: dekskoy
« เมื่อ: 08, กันยายน 2010, 10:17:37 PM »

ขอบคุณพี่ๆนะครับที่สนใจกระทู้นี้ ผมชอบอ่านทั้งใน just และ dexmore ครับ แม้จะเขียนไม่เป็น แต่จะพยายามหัดและฝึกฝนครับ
มีคนช่วยค้นหาแบบนี้ กำลังใจมาครับ ยังไงก็รบกวนพี่ช่วยแก้ให้สมบูรณ์ด้วยนะครับ ขอบคุณครับ :yaahoo: :yaahoo:
ข้อความโดย: UnclEo
« เมื่อ: 08, กันยายน 2010, 09:57:08 PM »

ssi นี้ผมทำไว้นานแล้วครับ options เป็นแบบนี้ครับ

แสดงหัวข้อเริ่มต้น (first post)
แสดงไอค่อนหัวข้อ
แสดงชื่อผู้โพสต์
แสดงวันที่โพสต์
แสดงรูปส่วนตัวของผู้โพสต์ (กำหนดตำแหน่งซ้าย-ขวาได้)
แสดงไฟล์แนบของหัวข้อเริ่มต้น (กำหนดให้แสดงเป็นลิงค์, รูปย่อ (thumbnail) หรือขนาดต้นฉบับได้)
แสดงเนื้อหา (จำกัดจำนวนตัวอักษรได้)
เลือกบอร์ดที่ต้องการแสดงได้
กำหนดจำนวนหัวข้อได้

เหตุที่ไม่ปล่อยออกมา
1. ผมไม่ได้ใช้ไฟล์แนบ ไม่มีที่ทดสอบไม่สามารถ support ได้เวลามีปัญหา
2. ยังไม่ได้แก้ไขรูปส่วนตัวให้มีขนาดเล็กลง
3. ยังไม่ได้ใส่สีให้กับชื่อผู้โพสต์ให้มีสีตามกลุ่ม
4. การใช้งานค่อนข้างซับซ้อนเพราะการนำไปใช้งานไม่ใช้ใน SMF ยากแก่การ support ต่อคนถักแหแต่หาปลาไม่เป็น หากเป็นคนหาปลายินดีให้ไปพัฒนาต่อ

ทดสอบดูที่นี่ได้ครับ -->> http://dexmore.com/ssi_test.php เดี๋ยวจะหาว่ามีแต่ราคาคุย..

ป.ล. ไม่ต้องอ้างถึงอายุนะครับ ในบอร์ด SMF นี้ยืนยันได้ว่าไม่มีใครแก่กว่าผมแน่นอน น้องไฮซ์ (zelda) หมอฟันรูปหล่อนี่รุ่นลูกเลยครับ แล้วผมก็ไม่ได้เรียนสายคอมพ์มาด้วย สมัยผมเรียนระดับอุดมศึกษานี่คอมเครื่องหนึ่งราคาย่อนแสนนิดหน่อยครับ
ข้อความโดย: dekskoy
« เมื่อ: 08, กันยายน 2010, 09:12:16 PM »

เพิ่งไปเจอลิ้งตัวอย่างมาครับผม แนวๆนี้ละ :grin: :grin:
http://www.focusingclub.net/wp-content/themes/FocusingClub2009/smf_recent_link.php [nofollow]
ข้อความโดย: dekskoy
« เมื่อ: 07, กันยายน 2010, 07:33:16 AM »

ขอบคุณครับ
เข้าไปดูที่ http://dexmore.com/topic/3015 [nofollow] คาดว่าน่าจะประมาณที่อยากเห็น คือเลือกเฉพาะกระทู้ที่มีการตอบใหม่มาแสดง
แต่ก็ยังไม่เห็นมีไฟล์รูปไฟล์แรกที่แนบมาแต่ละกระทู้  :grin:
ข้อความโดย: UnclEo
« เมื่อ: 06, กันยายน 2010, 10:34:50 PM »

ไฟล์ดั้งเดิมที่สุดอยู่ที่ just นี่แหละครับลองหาดู ที่โพสต์โดย Single
ข้อความโดย: Mr.-[CAT]-
« เมื่อ: 06, กันยายน 2010, 09:56:29 PM »

โค้ดนี้ผมเป็นคนปล่อยออกมาเองเมื่อ 3 ปีที่แล้ว ปล่อยครั้งแรกก็ที่ just นี่แหละโดย Crazy™ แห่งที่ 2 ก็เว็บ zone-it โดย Crazy™ อีกเหมือนกัน เห็นแห่กันไป แห่กันมา ไม่มีที่มา ไม่มีที่ไป จนแทบไม่เหลือเค้าโครงเดิม แล้วไปต่อเติมกันจนเพี้ยนไปหลายจุด ก็เลยปล่อยเลยตามเลยไม่อยาก support อีกต่อไป ทำตัวใหม่ออกมาเจ๋งกว่าเดิมอีกครับ

ชมได้ที่ -->>
SSI Multiple Board Show Topics แสดงกระทู้ในหน้าแรกหลายๆ บอร์ด
http://dexmore.com/topic/3015

เหตุที่ไม่เอาไปปล่อยที่อื่นๆ ก็เพราะไม่สามารถควบคุมได้ ไม่ได้หวงแต่เลือกให้


ท่านพี่มาเองเลย555+ จัดให้เลยครับ  โชว์กระทู้ประเภทนี้ เป็นที่ต้องการเยอะ เพราะบางเว็บไม่ได้ใช้ Forum เป็นหน้าหลัก ผมเป็นหนึ่งในจำนวนนั้นอิๆ
//** ผมไม่ได้อ้างเป็นส่วนตัวนะครับท่านพี่ พอดีไฟล์ดังเดิมนั้น อยู่กับเพื่อน**//
ข้อความโดย: UnclEo
« เมื่อ: 06, กันยายน 2010, 09:22:12 PM »

โค้ดนี้ผมเป็นคนปล่อยออกมาเองเมื่อ 3 ปีที่แล้ว ปล่อยครั้งแรกก็ที่ just นี่แหละโดย Crazy™ แห่งที่ 2 ก็เว็บ zone-it โดย Crazy™ อีกเหมือนกัน เห็นแห่กันไป แห่กันมา ไม่มีที่มา ไม่มีที่ไป จนแทบไม่เหลือเค้าโครงเดิม แล้วไปต่อเติมกันจนเพี้ยนไปหลายจุด ก็เลยปล่อยเลยตามเลยไม่อยาก support อีกต่อไป ทำตัวใหม่ออกมาเจ๋งกว่าเดิมอีกครับ

ชมได้ที่ -->>
SSI Multiple Board Show Topics แสดงกระทู้ในหน้าแรกหลายๆ บอร์ด
http://dexmore.com/topic/3015

เหตุที่ไม่เอาไปปล่อยที่อื่นๆ ก็เพราะไม่สามารถควบคุมได้ ไม่ได้หวงแต่เลือกให้
ข้อความโดย: Mr.-[CAT]-
« เมื่อ: 06, กันยายน 2010, 08:51:09 PM »

ขอเวลาค้นก่อนนะ พอดีเว็บตัวเองหมดอายุ ไม่ได้เก็บไฟล์อะไรไว้เลย ของจริงต้องถามเพื่อนก่อนนะ
ข้อความโดย: dekskoy
« เมื่อ: 06, กันยายน 2010, 02:18:27 PM »

ไม่ผ่านจ้า ถ้าไม่รบกวนเกินไป ส่งไฟล์ตัวอย่างมาให้ทางเมล์ก็ได้จ้า ขอบคุณมากครับ :grin: :grin:
ข้อความโดย: Mr.-[CAT]-
« เมื่อ: 03, กันยายน 2010, 08:06:58 PM »

<?php require(".../ใส่ชื่อforum/SSI.php"); ?>  เป็น <?php require(".../forum/SSI.php");?> ไม่ใช่ตัวอย่างที่คุณยกขึ้นมานะ ไฟล์เว็บหน้าแรกต้องเป็น index.php ไม่ใช่ index.html นะ

สำหรับไฟล์ lastnews.php คือไฟล์ที่ใส่โค้ดที่ผมบอกไปนะครับ 1 ไฟล์ต่อ 1 บอร์ด เช่นบอร์ด News  ผมก็สร้างว่า lastnews.php เป็นต้น
ถ้าจะดึงกระทู้อีกบอร์ด เช่น บอร์ดบทความ เราก็สร้างไฟล์ชื่ออะไรก็ได้ แล้วเอาโค้ดอันเดิมโยนใส่เข้าไป แล้วเปลี่ยนตัวเลขบอร์ดในโค้ดก็เท่านั้นเอง
ข้อความโดย: dekskoy
« เมื่อ: 03, กันยายน 2010, 07:04:43 AM »

ทดลองตามความเข้าใจนะครับ
1. สร้างไฟล์ใหม่ขึ้นมาก แล้วเอาโค๊ดในช่องสีฟ้าชุดแรกวางลงไป ทุกอย่างไม่แก้ ยกเว้น
<?php require(".../ใส่ชื่อforum/SSI.php"); ?>  เปลี่ยนเป็น <?php require("SSI.php"); ?>
ตามความเข้าใจคือไฟล์นี้จะเก็บไว้โฟลเดอร์เดียวกับไฟล์ SSI.php
แล้วทำการบันทึกเป็น showlatest.php แล้วเอาไปไว้บนเซอร์เวอร์
2. เปิดไฟล์หน้าแรกที่ไม่เกี่ยวกับอะไรใน forum เอาโค๊ดในช่องสีฟ้าที่สองวางลงไป ไม่ได้แก้อะไรเช่นกัน
ถ้ามีก็เช่นแแก้ url ให้ตรงกับไฟล์ไปเลย
<iframe align="left" scrolling="no" src="http://www.myweb.com/forum/showlatest.php [nofollow]" frameborder="0" width="420px" height="165px"></iframe>

สรุปผลคือ ยังไม่แสดงผลครับผม
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/thaibird/domains/thaibirder.com/public_html/forums/indox.php on line 49

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/thaibird/domains/thaibirder.com/public_html/forums/indox.php on line 50


อีกอย่างผมยังงง
ตามความเข้าใจคิดว่าน่าจะมีสองไฟล์ที่เราทำ คือ index.html (ไฟล์หน้าแรกเว็บ) และ showlatest.php (ไฟล์ที่ดึกกระทู้ที่ต้องการ)

แต่เห็นมีไฟล์ lastnews.php ,lasttopic.php ก็เลยงงนิดหน่อยครับ
ขอบคุณ คุณ Mr.-[CAT]- นะครับ  :smitten-1:
Sitemap 1 2 3 4 5 6 
Back to top