:: JustUsers.net ::

:: คนทำเว็บ :: => Simple Machines Forum [SMF] => Configuration => ข้อความที่เริ่มโดย: oomyimayoy ที่ 28, สิงหาคม 2010, 09:31:54 AM

หัวข้อ: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: oomyimayoy ที่ 28, สิงหาคม 2010, 09:31:54 AM
 :crying:คืออยากทำให้เวลามีคนโพสรูปในบอร์ดที่ต้องการ  แล้วดึงมาโชว์เฉพาะรูป มาโชว์ที่หน้าแรกอะค่ะ
แบบว่ามันจะอัพเดทเองเวลามีคนไปโพสอะค่ะ
ขอบคุณผู้ใจดีไว้ก่อนนะค่ะ ขอบคุณค่ะ :smitten-1:

หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: c,;-uhg,k ที่ 28, สิงหาคม 2010, 12:12:22 PM
ขอลิงค์ไปดูหน้าเว็บจริงได้ไหม?
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: oomyimayoy ที่ 28, สิงหาคม 2010, 12:51:59 PM
ขอลิงค์ไปดูหน้าเว็บจริงได้ไหม?
ได้ค่ะแต่ไม่ใช้เว็บของหนูนะค่ะ แต่อยากได้แบบเขา อิอิ
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: เซียวเหล่งนึ่งฯ ที่ 28, สิงหาคม 2010, 01:04:11 PM
ขอลิงค์ไปดูหน้าเว็บจริงได้ไหม?

ได้ค่ะแต่ไม่ใช้เว็บของหนูนะค่ะ แต่อยากได้แบบเขา อิอิ [url]http://www.gongzstudio.com/[/url] ([url]http://www.gongzstudio.com/[/url])


เขาจะขอดูเว็บของหนูหนะแหละจ๊ะ
http://www.justusers.net/forum/index.php?topic=4555.0 (http://www.justusers.net/forum/index.php?topic=4555.0)
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: oomyimayoy ที่ 28, สิงหาคม 2010, 03:45:12 PM


อ้อขอโทษทีค่ะ อิอิ http://www.dukduy.com (http://www.dukduy.com)
หัวข้อ: ssi_recentAttachments การดึงไฟล์รูปและไฟล์แนบของ 1.1*
เริ่มหัวข้อโดย: เซียวเหล่งนึ่งฯ ที่ 28, สิงหาคม 2010, 07:04:09 PM
1. แก้ไฟล์  SSI.php
ค้นหา
โค๊ด: [Select]
?>วางก่อนที่ค้นหา
โค๊ด: [Select]
// 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 มาแสดงผล
โค๊ดนี้จะจัดอย่างไรก็แล้วแต่เรา
ใช้พื้นฐานเอชทีเอมแอลนี่แหละ จัดให้สวยงาม
ตัวอย่างโค๊ด
โค๊ด: [Select]
<?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. ใช้ไอเฟรมในการนำไฟล์ไปแสดงผล  จะวางที่ไหนจะจัดยังไงก็แล้วแต่

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

หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: oomyimayoy ที่ 28, สิงหาคม 2010, 08:01:05 PM
เย้ ขอบคุณมากๆๆๆค่ะ ตอนนี้ได้รูปมาโชว์แล้วค่ะ
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: เซียวเหล่งนึ่งฯ ที่ 29, สิงหาคม 2010, 09:32:26 AM
ที่แนะนำได้คงเป็นวิธีการ แต่รายละเอียดการจัดหน้าเพจ หน้าไฟล์อย่างไร คุณต้องลองจัดการเองแล้วหละ
ลองสร้างตัวอย่างจากดรีมเวพเวอร์ก็ได้  หรือดูซอร์สต้นฉบับจากหน้าเพจที่คุณต้องการ
แล้วก็เอามาปรับใช้กับไฟล์ show.php
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: Mr.-[CAT]- ที่ 29, สิงหาคม 2010, 07:15:06 PM

"ถ้าเกลียดพ่อ ไม่รักพ่อ จงออกไปจากที่นี่ซะเพราะที่นี่คือบ้านของพ่อนี่คือแผ่นดินของพ่อ"

คอเดียวกับผมเลยนะ จบข่าว
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: dekskoy ที่ 30, สิงหาคม 2010, 04:59:32 PM
เยี่ยมมาก ได้ประโยชน์ด้วย
จากโค๊ดลองนำไปใช้ดู จะแสดงภาพไฟล์แนบ 10 ภาพล่าสุด และเป็น 10 ภาพจากกระทู้เดียวกัน
ถ้าต้องการภาพไฟล์แนบของสิบกระทู้ล่าสุดได้มั้ย เอามาแสดงกระทู้ละภาพก็พอ น่าจะเป็นอีกหนึ่งแนวคิด  :grin:
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: zelda ที่ 31, สิงหาคม 2010, 09:05:30 AM
ก็เปลี่ยนจาก
โค๊ด: [Select]
$attachments = ssi_recentAttachments(10, 'images', 'array');เป็น
โค๊ด: [Select]
$attachments = ssi_recentAttachments(1, 'images', 'array');ครับ
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: dekskoy ที่ 31, สิงหาคม 2010, 04:51:45 PM
ก็เปลี่ยนจาก
โค๊ด: [Select]
$attachments = ssi_recentAttachments(10, 'images', 'array');เป็น
โค๊ด: [Select]
$attachments = ssi_recentAttachments(1, 'images', 'array');ครับ

อันนี้ลองแล้ว ได้แล้วละครับ มันจะแสดงกระทู้ที่มีการแนบภาพล่าสุด
แต่สิ่งที่คิดว่าดีคือ มีกระทู้ทั้งหมดสิบกระทู้ล่าสุด เอาไฟล์แรกของแต่ละกระทู้มาแสดงนะครับ  :grin:
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: เซียวเหล่งนึ่งฯ ที่ 31, สิงหาคม 2010, 05:41:37 PM
ก็เปลี่ยนจาก
โค๊ด: [Select]
$attachments = ssi_recentAttachments(10, 'images', 'array');เป็น
โค๊ด: [Select]
$attachments = ssi_recentAttachments(1, 'images', 'array');ครับ

อันนี้ลองแล้ว ได้แล้วละครับ มันจะแสดงกระทู้ที่มีการแนบภาพล่าสุด
แต่สิ่งที่คิดว่าดีคือ มีกระทู้ทั้งหมดสิบกระทู้ล่าสุด เอาไฟล์แรกของแต่ละกระทู้มาแสดงนะครับ  :grin:

ถ้าเอาตามนี้ 
เงื่อนไขความต้องการต้องถูกเขียนลงในไฟล์  show.php

เราเขียนไม่เป็นเหมือนกัน
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: zelda ที่ 01, กันยายน 2010, 05:21:34 AM
เนื่องจากด้านบนนั้นเป็นการแสดงแบบ recent หมายความว่าจะดึงเอาเฉพาะล่าสุดมาแสดง
ถ้าจะเอาเฉพาะรูปแรก งั้นก็ต้องแบบนี้
โค๊ด: [Select]
$parameters = array(
  'limit' => 1,
  'board' => array(1,2,3,...),
  'start' => 1,
);
เวลาใช้ก็เรียก
ssi_getfirstattachment($parameters);

แล้วก็เขียนฟังก์ชั่น ssi_getfirstattachment ขึ้นมาเพื่อ define ตัวแปรค่างๆ
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: Mr.-[CAT]- ที่ 01, กันยายน 2010, 07:00:36 AM
โค๊ด: [Select]
<?php require(".../ใส่ชื่อforum/SSI.php"); ?>
<?php 

$list 
="8"// ต้องการให้โชว์กี่กระทู้ล่ะ ใส่เข้าไปได้เลย

$sboard="1"// ใส่ 0 ถ้าต้องการกระทู้จากบอร์ดทุกบอร์ด  และใส่ 1 ถ้าต้องการเจาะจงบอร์ด

// ถ้าใส่ 1 อย่าลืมระบุ id ของบอร์ดด้วยเช่น 
// http://www.xxx.com/forum/lasttopic.php?board= อย่างงี้อ่ะ เช่น http://www.xxx.com/forum/lasttopic.php?board=3.0

// ถ้าไม่ได้ใส่ ?board=.. ก็ให้มันแสดงตาม id ของบอร์ด ตามข้างล่าง

if (empty($board)) { 
$board "4"// เปลี่ยนตรงนี้ถ้าอยากให้บอร์ดไหนเป็นค่า default 



?>


<html>

<head>
<meta http-equiv="Content-Language" content="th">
<meta http-equiv="Content-Type" content="text/html; charset=TIS-620">
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>:: <?=$list ?> [url=http://www.xxx.com]www.xxx.com[/url]</title>
<link href="main01.css" rel="stylesheet" type="text/css">
</head>

<body bgcolor="#FFFFFF">

<?
include("Settings.php");

$host = $db_server;
$user = $db_user;
$pass = $db_passwd;
$database = $db_name;
$prefix = $db_prefix."topics";
$prefix2 = $db_prefix."messages";

[แอท]mysql_connect($host,$user,$pass) or die("ขออภัยค่ะ ขณะนี้ไม่สามารถติดต่อฐานข้อมูลได้ กรุณาเข้าชมใหม่ภายหลัง");
if ($sboard=="0") {
$Sql = "SELECT * FROM $prefix order by ID_TOPIC DESC limit 0,$list ";
} elseif ($sboard=="1") {
$Sql = "SELECT * FROM $prefix where ID_BOARD='$board' order by ID_TOPIC DESC limit 0,$list ";
}
$result = mysql_db_query($database,$Sql);
$nrow = mysql_num_rows($result);
while ($num = mysql_fetch_array($result)) {

$tid = $num["ID_TOPIC"];
$bid = $num["ID_BOARD"];
$fid = $num["ID_FIRST_MSG"];
$view = $num["numViews"];
$reply = $num["numReplies"];

$msql = "select * from $prefix2 where ID_MSG='$fid'";
$mresult = mysql_db_query($database,$msql);
$marr = mysql_fetch_array($mresult);
$title = $marr["subject"];
$poster = $marr["posterName"];
$today = date("d M Y");
$time = date("d M Y", $marr["posterTime"]);
if ($today==$time) {
$time = date("<b>วันนี้</b>", $marr["posterTime"]);
} else {
$time = date("<font-color='blue'>.</font>", $marr["posterTime"]);
}

echo "&nbsp;<font size='3pt' color='red'>&middot;</font>&nbsp;<a href='index.php?board=$bid;action=display;threadid=$tid' target='_blank' class='menu01'>$title</a> &nbsp;<font color='red'> $time</font>&nbsp;<font size='-1pt' color='#999999'>($view/$reply) </font><br>\n";
}

?>

</body>

</html>


อันนี้โค้ดที่ผมได้มา แต่จำไม่ได้ว่า ได้มาจากไหน สงสัยแถวนี้แหละ ขออภัยได้
ลองศึกษาดูนะ แบบโชว์กระทู้แยกบอร์ดเลย เวลาจะโชว์ก็สร้าง iframe ในหน้าที่เราจะนำไปแสดง
ใครเก่งก็ช่วยอธิบายเพิ่มเติมด้วย

***/ปัจจุบันนี้ผมก็ใช้ตัวนี้แหละ/**
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: dekskoy ที่ 01, กันยายน 2010, 06:07:30 PM
เนื่องจากด้านบนนั้นเป็นการแสดงแบบ recent หมายความว่าจะดึงเอาเฉพาะล่าสุดมาแสดง
ถ้าจะเอาเฉพาะรูปแรก งั้นก็ต้องแบบนี้
โค๊ด: [Select]
$parameters = array(
  'limit' => 1,
  'board' => array(1,2,3,...),
  'start' => 1,
);
เวลาใช้ก็เรียก
ssi_getfirstattachment($parameters);

แล้วก็เขียนฟังก์ชั่น ssi_getfirstattachment ขึ้นมาเพื่อ define ตัวแปรค่างๆ


จะต้องแก้ไฟล์ใหน อย่างไรครับ เพราะค้นหาคำที่คิดว่าน่าจะต้องแก้ใน ssi.php,show_recent, ก็ไม่มี
แนะนำด้วยนะครับ
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: UnclEo ที่ 01, กันยายน 2010, 06:27:54 PM
ไม่ใช่แก้ไขครับ แต่เป็นการสร้างตัวแปร parameters ให้กับฟังชั่นก์ ssi_getfirstattachment

ในตัวแปร parameters ให้เก็บค่า array limit = จำนวนที่แสดง board = บอร์ดที่นำมาแสดง start = ค่าเริ่มต้น
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: dekskoy ที่ 01, กันยายน 2010, 06:59:56 PM
ไม่ใช่แก้ไขครับ แต่เป็นการสร้างตัวแปร parameters ให้กับฟังชั่นก์ ssi_getfirstattachment

ในตัวแปร parameters ให้เก็บค่า array limit = จำนวนที่แสดง board = บอร์ดที่นำมาแสดง start = ค่าเริ่มต้น

ต้องขอโทษจริงๆครับ ผมเพิ่งหัดศึกษา อ่านแล้วไม่ค่อยเข้าใจนะครับ
แต่เคยเห็นบางท่านบอกว่าให้เปิดไฟล์นี้ ค้นหาคำนี้ แล้วเปลี่ยนด้วยคำนี้ อะไรทำนองนี้ มันเข้าใจง่ายดีครับ
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: zelda ที่ 02, กันยายน 2010, 07:03:53 AM
ตามที่ท่าน ursell อธิบายนั่นแหละครับ ส่วนที่เหลือก็ต้องอาศัยไหวพริบและความพยายามในการศึกษา
การสอนแบบก็อบไปวางเลย คนก็อบไปวางเลยจะได้ประโยชน์อย่างไร นอกจากรู้จักแค่การก็อบไปวาง
แต่การสอนแบบให้อ่านโค้ด วิเคราะห์คำสั่ง จะทำให้เราเขียนเองเป็น พลิกแพลงเป็น แก้ไขปัญหาเองเป็น
เหมือนการสอนให้จับปลา ไม่ใช่เอาปลาไปให้กิน ถ้าเราจับปลากินเองเป็น เราก็จะมีปลากินเองตลอดไป
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: dekskoy2 ที่ 02, กันยายน 2010, 03:54:18 PM
ขอบคุณพี่ๆทุกท่านครับที่พยายามช่วยหาช่วยตอบ ผมจบมาสาขาอื่น ไม่มีความรู้ด้านโปรแกรมมิ่งเลยครับ แต่ได้เข้ามาอ่านที่นี่ ทำให้พยายามที่จะเรียนรู้เพิ่มเติมครับ บางอย่างที่ติดจริงๆ ก็ทำไม่ได้ก็เลยต้องบอกกันครับ
ถ้าให้ผมเริ่มจากศูนย์คงยากแล้วครับ เพราะอายุเยอะแล้ว ไปเรียนคงไม่ทันเด็กๆ ก็เลยต้องครูพักลักจำเอาอย่างที่บอกนะแหละครับ มาถึงตอนนี้ ผมคงบอกได้อย่างเดียวว่า ผมก็คงหาปลากินเองไม่ได้ตลอดไปละครับ
แต่ผมคงทำหน้าที่ได้แค่ถักแห ถักอวนให้นะครับ คนถักแหไม่จำเป็นต้องหาปลาเป็น จริงมั้ยครับ อย่างไรผมก็ยังเข้ามาแอบหาความรู้ในนี้อีกต่อไปครับ ขอบคุณครับ   :smitten-1: :smitten-1:

**ขอโทษด้วยครับที่ไม่ได้ล็อคอิน ลืมรหัสผ่านนะครับ
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: Mr.-[CAT]- ที่ 02, กันยายน 2010, 06:56:46 PM
สืบเนื่องกระทู้ของผมนั้น  ผมสร้างเว็บหน้าหลัก คือ index.php (หน้าหลักทั่วๆ ไป)  ที่ไม่เกี่ยวข้องกับ Forum ที่นี้ผมต้องการดึงกระทู้ 10 กระทู้ มาแสดงใน index.php 

1.สร้างหน้าเว็บไซต์มา 1 หน้า ส่วนตัวผม ผมจะใช้ชื่อว่า lastnews.php (สำหรับดึงกระทู้ 10 จากบอร์ดข่าวสารใน Forum มาแสดง) แล้วนำหน้า lastnews.php
ไปไว้ในโฟล์เดอร์ Forum (ย้ำว่า เปิด Forum แล้วโยนไฟล์ lastnews.php ใส่เข้าไปเลย ไม่ต้องไปใส่ที่อื่น เช่น โฟล์เดอร์ Theme เป็นต้น) สำหรับโค้ดที่ใส่ในหน้า lastnews.php

โค๊ด: [Select]
<?php require(".../ใส่ชื่อforum/SSI.php"); ?>
<?php 

$list 
="8"// ต้องการให้โชว์กี่กระทู้ล่ะ ใส่เข้าไปได้เลย

$sboard="1"// ใส่ 0 ถ้าต้องการกระทู้จากบอร์ดทุกบอร์ด  และใส่ 1 ถ้าต้องการเจาะจงบอร์ด

// ถ้าใส่ 1 อย่าลืมระบุ id ของบอร์ดด้วยเช่น 
// http://www.xxx.com/forum/lasttopic.php?board= อย่างงี้อ่ะ เช่น http://www.xxx.com/forum/lasttopic.php?board=3.0

// ถ้าไม่ได้ใส่ ?board=.. ก็ให้มันแสดงตาม id ของบอร์ด ตามข้างล่าง

if (empty($board)) { 
$board "4"// เปลี่ยนตรงนี้ถ้าอยากให้บอร์ดไหนเป็นค่า default 


?>


<html>

<head>
<meta http-equiv="Content-Language" content="th">
<meta http-equiv="Content-Type" content="text/html; charset=TIS-620">
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>:: <?=$list ?> [url=http://www.chakkrawat.org]www.chakkrawat.org[/url]</title>
<link href="main01.css" rel="stylesheet" type="text/css">
</head>

<body bgcolor="#FFFFFF">

<?
include("Settings.php");

$host = $db_server;
$user = $db_user;
$pass = $db_passwd;
$database = $db_name;
$prefix = $db_prefix."topics";
$prefix2 = $db_prefix."messages";

[แอท]mysql_connect($host,$user,$pass) or die("ขออภัยค่ะ ขณะนี้ไม่สามารถติดต่อฐานข้อมูลได้ กรุณาเข้าชมใหม่ภายหลัง");
if ($sboard=="0") {
$Sql = "SELECT * FROM $prefix order by ID_TOPIC DESC limit 0,$list ";
} elseif ($sboard=="1") {
$Sql = "SELECT * FROM $prefix where ID_BOARD='$board' order by ID_TOPIC DESC limit 0,$list ";
}
$result = mysql_db_query($database,$Sql);
$nrow = mysql_num_rows($result);
while ($num = mysql_fetch_array($result)) {

$tid = $num["ID_TOPIC"];
$bid = $num["ID_BOARD"];
$fid = $num["ID_FIRST_MSG"];
$view = $num["numViews"];
$reply = $num["numReplies"];

$msql = "select * from $prefix2 where ID_MSG='$fid'";
$mresult = mysql_db_query($database,$msql);
$marr = mysql_fetch_array($mresult);
$title = $marr["subject"];
$poster = $marr["posterName"];
$today = date("d M Y");
$time = date("d M Y", $marr["posterTime"]);
if ($today==$time) {
$time = date("<b>วันนี้</b>", $marr["posterTime"]);
} else {
$time = date("<font-color='blue'>.</font>", $marr["posterTime"]);
}

echo "&nbsp;<font size='3pt' color='red'>&middot;</font>&nbsp;<a href='index.php?board=$bid;action=display;threadid=$tid' target='_blank' class='menu01'>$title</a> &nbsp;<font color='red'> $time</font>&nbsp;<font size='-1pt' color='#999999'>($view/$reply) </font><br>\n";
}

?>

</body>
</html>
ตัวอย่างเว็บไซต์ที่เขาใช้กัน http://www.panaiphrao.com/ (http://www.panaiphrao.com/)

2. เวลาดึงเอาไปแสดง 10 กระทู้ต้องสร้าง iFrame ในหน้า index.php
โค๊ด: [Select]
<table border="1" bordercolor="#CC0000" cellpadding="2" cellspacing="2"  width="440px" align="center">   
 <tr>
<Td align="left" width="420px">
<iframe align="left" scrolling="no" src="forum/lastnews.php" frameborder="0" width="420px" height="165px"></iframe>
</Td>
</tr>
</table>

3. เวลาจะดึง 10 กระทู้อีกบอร์ด ก็สร้างไฟล์เหมือน lastnews.php อาจจะตั้งชื่อว่า lastarticles.php แล้วเปลี่ยนตัวเลขบอร์ดเท่านั้นเอง
" $sboard="1"; // ใส่ 0 ถ้าต้องการกระทู้จากบอร์ดทุกบอร์ด  และใส่ 1 ถ้าต้องการเจาะจงบอร์ด "
เพราะแต่ละบอร์ดเขามีตัวเลขให้ เวลาเราสร้างบอร์ดขึ้นแต่ละบอร์ด

**/// ผมก็สอนไม่ค่อยเก่ง  มีปัญหาถามได้ครับ//**
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: zelda ที่ 02, กันยายน 2010, 09:23:11 PM
อย่าดูถูกตัวเองครับ คนเรามีศักยภาพในการพัฒนาตัวเองได้เท่าๆกัน
หลายๆท่านที่ช่วยตอบคำถามในห้องนี้ก็ไม่ได้จบด้านโปรแกรมมิ่งมาโดยตรง
ท่าน ulserll ก็จบนิเทศศาสตร์ ตัวผมเองก็เรียนสาขาวิทยาศาสตร์สุขภาพ (หมอฟัน)
เพียงแค่หาเวลาวันละสิบยี่สิบนาทีเข้ามาอ่านหาความรู้ ซักวันนึงก็เก่งขึ้นได้เหมือนกันครับ
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: 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" 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:
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: 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 เป็นต้น
ถ้าจะดึงกระทู้อีกบอร์ด เช่น บอร์ดบทความ เราก็สร้างไฟล์ชื่ออะไรก็ได้ แล้วเอาโค้ดอันเดิมโยนใส่เข้าไป แล้วเปลี่ยนตัวเลขบอร์ดในโค้ดก็เท่านั้นเอง
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: dekskoy ที่ 06, กันยายน 2010, 02:18:27 PM
ไม่ผ่านจ้า ถ้าไม่รบกวนเกินไป ส่งไฟล์ตัวอย่างมาให้ทางเมล์ก็ได้จ้า ขอบคุณมากครับ :grin: :grin:
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: Mr.-[CAT]- ที่ 06, กันยายน 2010, 08:51:09 PM
ขอเวลาค้นก่อนนะ พอดีเว็บตัวเองหมดอายุ ไม่ได้เก็บไฟล์อะไรไว้เลย ของจริงต้องถามเพื่อนก่อนนะ
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: 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 (http://dexmore.com/topic/3015)

เหตุที่ไม่เอาไปปล่อยที่อื่นๆ ก็เพราะไม่สามารถควบคุมได้ ไม่ได้หวงแต่เลือกให้
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: Mr.-[CAT]- ที่ 06, กันยายน 2010, 09:56:29 PM
โค้ดนี้ผมเป็นคนปล่อยออกมาเองเมื่อ 3 ปีที่แล้ว ปล่อยครั้งแรกก็ที่ just นี่แหละโดย Crazy™ แห่งที่ 2 ก็เว็บ zone-it โดย Crazy™ อีกเหมือนกัน เห็นแห่กันไป แห่กันมา ไม่มีที่มา ไม่มีที่ไป จนแทบไม่เหลือเค้าโครงเดิม แล้วไปต่อเติมกันจนเพี้ยนไปหลายจุด ก็เลยปล่อยเลยตามเลยไม่อยาก support อีกต่อไป ทำตัวใหม่ออกมาเจ๋งกว่าเดิมอีกครับ

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

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


ท่านพี่มาเองเลย555+ จัดให้เลยครับ  โชว์กระทู้ประเภทนี้ เป็นที่ต้องการเยอะ เพราะบางเว็บไม่ได้ใช้ Forum เป็นหน้าหลัก ผมเป็นหนึ่งในจำนวนนั้นอิๆ
//** ผมไม่ได้อ้างเป็นส่วนตัวนะครับท่านพี่ พอดีไฟล์ดังเดิมนั้น อยู่กับเพื่อน**//
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: UnclEo ที่ 06, กันยายน 2010, 10:34:50 PM
ไฟล์ดั้งเดิมที่สุดอยู่ที่ just นี่แหละครับลองหาดู ที่โพสต์โดย Single
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: dekskoy ที่ 07, กันยายน 2010, 07:33:16 AM
ขอบคุณครับ
เข้าไปดูที่ http://dexmore.com/topic/3015 (http://dexmore.com/topic/3015) คาดว่าน่าจะประมาณที่อยากเห็น คือเลือกเฉพาะกระทู้ที่มีการตอบใหม่มาแสดง
แต่ก็ยังไม่เห็นมีไฟล์รูปไฟล์แรกที่แนบมาแต่ละกระทู้  :grin:
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: dekskoy ที่ 08, กันยายน 2010, 09:12:16 PM
เพิ่งไปเจอลิ้งตัวอย่างมาครับผม แนวๆนี้ละ :grin: :grin:
http://www.focusingclub.net/wp-content/themes/FocusingClub2009/smf_recent_link.php (http://www.focusingclub.net/wp-content/themes/FocusingClub2009/smf_recent_link.php)
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: 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 (http://dexmore.com/ssi_test.php) เดี๋ยวจะหาว่ามีแต่ราคาคุย..

ป.ล. ไม่ต้องอ้างถึงอายุนะครับ ในบอร์ด SMF นี้ยืนยันได้ว่าไม่มีใครแก่กว่าผมแน่นอน น้องไฮซ์ (zelda) หมอฟันรูปหล่อนี่รุ่นลูกเลยครับ แล้วผมก็ไม่ได้เรียนสายคอมพ์มาด้วย สมัยผมเรียนระดับอุดมศึกษานี่คอมเครื่องหนึ่งราคาย่อนแสนนิดหน่อยครับ
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: dekskoy ที่ 08, กันยายน 2010, 10:17:37 PM
ขอบคุณพี่ๆนะครับที่สนใจกระทู้นี้ ผมชอบอ่านทั้งใน just และ dexmore ครับ แม้จะเขียนไม่เป็น แต่จะพยายามหัดและฝึกฝนครับ
มีคนช่วยค้นหาแบบนี้ กำลังใจมาครับ ยังไงก็รบกวนพี่ช่วยแก้ให้สมบูรณ์ด้วยนะครับ ขอบคุณครับ :yaahoo: :yaahoo:
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: dekskoy ที่ 14, กันยายน 2010, 09:10:14 PM
เสียดายจังที่กระทู้จบไป โดยหาข้อสรุปไม่ได้
แต่ไม่เป็นไรครับ ค้นหากันต่อไป วันหนึ่งคงได้คำตอบที่ต้องการ  ขอบคุณครับ :smiley: :smiley: :smiley:
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: kaikub ที่ 20, กันยายน 2010, 01:11:42 PM
ขอบคุณมากครับสำหรับความรู้ดีๆ ขอถามนิดครับว่าทำอย่างไรให้ภาพปรับขนาดได้ เพราะที่ได้มาใหญ่มากครับ ขอบคุณครับ
หัวข้อ: Re: ssi_recentAttachments การดึงไฟล์รูปและไฟล์แนบของ 1.1*
เริ่มหัวข้อโดย: robby ที่ 06, มกราคม 2011, 01:37:24 AM
1. แก้ไฟล์  SSI.php
ค้นหา
โค๊ด: [Select]
?>วางก่อนที่ค้นหา
โค๊ด: [Select]
// 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 มาแสดงผล
โค๊ดนี้จะจัดอย่างไรก็แล้วแต่เรา
ใช้พื้นฐานเอชทีเอมแอลนี่แหละ จัดให้สวยงาม
ตัวอย่างโค๊ด
โค๊ด: [Select]
<?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. ใช้ไอเฟรมในการนำไฟล์ไปแสดงผล  จะวางที่ไหนจะจัดยังไงก็แล้วแต่

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



มีโค๊ดสำหรับเวอร์ชั่น 1.1.xx ไหมครับ ขอบคุณครับ
หัวข้อ: Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
เริ่มหัวข้อโดย: เซียวเหล่งนึ่งฯ ที่ 06, มกราคม 2011, 12:33:07 PM
ที่อ้างถึงมานั่นแหละของ 1.1*
2.0 มันมีมาให้แล้ว