Home Webboard ArticlesKnowledges  
ข่าวประกาศ:

:: กติกา มารยาท ในการใช้งานเว็บบอร์ด ::
กรุณากรอกอีเมล์จริงในการสมัคร และรับอีเมล์ยืนยันเพื่อใช้งานในบอร์ด

ผู้เขียน หัวข้อ: สอบถามเรื่องการดึงกระทู้อะค่ะ  (อ่าน 33871 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ dekskoy

  • Ju
  • *
  • กระทู้: 15
  • เห็นด้วย&ขอบคุณ: 2
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #30 เมื่อ: 08, กันยายน 2010, 09:12:16 PM »
เพิ่งไปเจอลิ้งตัวอย่างมาครับผม แนวๆนี้ละ :grin: :grin:
http://www.focusingclub.net/wp-content/themes/FocusingClub2009/smf_recent_link.php [nofollow]

ออฟไลน์ UnclEo

  • Just Staff
  • *
  • กระทู้: 463
  • เห็นด้วย&ขอบคุณ: 439
  • เพศ: ชาย
  • !Personal
    • DexMoreGroup
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #31 เมื่อ: 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) หมอฟันรูปหล่อนี่รุ่นลูกเลยครับ แล้วผมก็ไม่ได้เรียนสายคอมพ์มาด้วย สมัยผมเรียนระดับอุดมศึกษานี่คอมเครื่องหนึ่งราคาย่อนแสนนิดหน่อยครับ
« แก้ไขครั้งสุดท้าย: 08, กันยายน 2010, 10:15:21 PM โดย ulserll »
ที่นี่! DexMore.Com ลมหายใจแห่ง SMF เราอัพเดททุกลมหายใจ SMF 100++ mod แห่งเดียวในโลก SMF 2.0 แปลไทย 100%

ออฟไลน์ dekskoy

  • Ju
  • *
  • กระทู้: 15
  • เห็นด้วย&ขอบคุณ: 2
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #32 เมื่อ: 08, กันยายน 2010, 10:17:37 PM »
ขอบคุณพี่ๆนะครับที่สนใจกระทู้นี้ ผมชอบอ่านทั้งใน just และ dexmore ครับ แม้จะเขียนไม่เป็น แต่จะพยายามหัดและฝึกฝนครับ
มีคนช่วยค้นหาแบบนี้ กำลังใจมาครับ ยังไงก็รบกวนพี่ช่วยแก้ให้สมบูรณ์ด้วยนะครับ ขอบคุณครับ :yaahoo: :yaahoo:

ออฟไลน์ dekskoy

  • Ju
  • *
  • กระทู้: 15
  • เห็นด้วย&ขอบคุณ: 2
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #33 เมื่อ: 14, กันยายน 2010, 09:10:14 PM »
เสียดายจังที่กระทู้จบไป โดยหาข้อสรุปไม่ได้
แต่ไม่เป็นไรครับ ค้นหากันต่อไป วันหนึ่งคงได้คำตอบที่ต้องการ  ขอบคุณครับ :smiley: :smiley: :smiley:
« แก้ไขครั้งสุดท้าย: 14, กันยายน 2010, 09:15:44 PM โดย dekskoy »

ออฟไลน์ kaikub

  • Ju
  • *
  • กระทู้: 3
  • เห็นด้วย&ขอบคุณ: 3
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #34 เมื่อ: 20, กันยายน 2010, 01:11:42 PM »
ขอบคุณมากครับสำหรับความรู้ดีๆ ขอถามนิดครับว่าทำอย่างไรให้ภาพปรับขนาดได้ เพราะที่ได้มาใหญ่มากครับ ขอบคุณครับ

ออฟไลน์ robby

  • Ju
  • *
  • กระทู้: 2
  • เห็นด้วย&ขอบคุณ: 1
Re: ssi_recentAttachments การดึงไฟล์รูปและไฟล์แนบของ 1.1*
« ตอบกลับ #35 เมื่อ: 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 ไหมครับ ขอบคุณครับ

ออฟไลน์ เซียวเหล่งนึ่งฯ

  • Global Moderator
  • *
  • กระทู้: 5547
  • เห็นด้วย&ขอบคุณ: 2148
    • SMFjusthost.com
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #36 เมื่อ: 06, มกราคม 2011, 12:33:07 PM »
ที่อ้างถึงมานั่นแหละของ 1.1*
2.0 มันมีมาให้แล้ว

 

Sitemap 1 2 3 4 5 6 
Back to top