กระทู้นี้..ท่าจะยาวว....ของผมต่อนะท่านโมชิ...(เรื่องการเอา 15กระทู้ล่าสุดจากเว็บบอร์ด..มาไว้หน้าแรก Home)
รูปแรกนี้คือ รูปที่ไม่มีปัญหา(แต่ผมไม่ค่อยต้องการ อิอิ)...ใช้เทคนิคแรก คือสร้างไฟล์ ขึ้น PHP ขึ้นมา 1 ไฟล์ แล้วเอาไปไว้ตำแหน่งเดียวกับไฟล์ ssi_examples.php ของบอร์ด.....แล้วใช้โค๊ด..ตอบ #8 ของท่าน....$data = @file_get_contents
(http://i944.photobucket.com/albums/ad289/metal2208/it4x/12-10-255316-11-54.png)
ส่วนที่มีปัญหาคือ รูปถัดไป ..ใช้โค๊ดจาก ตอบ #19...
แล้วมันได้ผลตามรูปนี้ครับ
(http://i944.photobucket.com/albums/ad289/metal2208/it4x/12-10-255316-19-47.png)
จากรูปข้างบนนี้
1.ถ้าจะให้แสดงภาษาไทยถูกต้อง ต้องแก้ยังไงครับ ? (เว็บผมใช้ charset=tis-620)
2.ถ้าจะเอาส่วนที่เป็นชื่อ หมวดบอร์ด ด้านหน้าออก ต้องเพิ่มคำสั่งอะไร ที่ (ผมจะเอาจากพวก Re: เป็นต้นไป)
3.ข้อความมันล้น แก้ยังไง (อันนี้ถามเพื่อประหยัดเวลา...จริงๆรูปบนสุด ตอนแรกก็เป็นแบบนี้แหละ...แก้มั่วๆเอา ชักจะลืม อิอิ)
ขอบคุณนะครับผม (พอดีผมหัดทำเว็บได้ไม่นานนะคัรบ)
ทั้ง 2 คนเดียวผมมาตอบให้นะครับ พึ่งกลับมาจากต่างจังหวัดเหนื่อยๆ หุหุ
มัน error เเบนี้ครับ ขอบคุณมากนะครั ที่กรุณาตอบ
(http://www.it4x.com/forum/index.php?action=dlattach;topic=7327.0;attach=518;image)
อยากให้ลอง COPY ของผมก่อนครับ แป๊ะๆเลยว่าได้ไหม
คล้ายๆ มันฟ้องว่า SQl ไม่สามารถทำการหา คิวรี่ ได้นี่หล่ะครับ แล้วบอร์ดคุณใช้เป้น RC2 ด้วยมันอาจจะใช้คนละตัว
แต่ลอง เอา ของผม แป๊ะๆเลยลองดูก่อนว่าจะได้ไหมครับ
แวะมา Edit เพิ่มเติม
หลังจากแอบไปเปิดดู ssi_examples.php -rc2
มันมีฟังก์ชั่นทำได้อยู่แล้วครับโดยอันแรกง่ายๆ
ผมดูของเจ้าของเว็บนะ webbroad/ssi_examples.php ตามที่อยู่นี้
แล้วไปดูตรง Recent Topics
มันจะให้
เอาอันนี้ไว้บนสุด
จากนั้น ใช้แบบ advance
ตรง $exclude_boards ค่า Null ก็ลองเปลี่ยนเป็น รหัสบอร์ดดูครับ น่าจะใช่มั้ง หุหุ ถ้าเดาไม่ผิด ลองดูครับๆ
กระทู้นี้..ท่าจะยาวว....ของผมต่อนะท่านโมชิ...(เรื่องการเอา 15กระทู้ล่าสุดจากเว็บบอร์ด..มาไว้หน้าแรก Home)
รูปแรกนี้คือ รูปที่ไม่มีปัญหา(แต่ผมไม่ค่อยต้องการ อิอิ)...ใช้เทคนิคแรก คือสร้างไฟล์ ขึ้น PHP ขึ้นมา 1 ไฟล์ แล้วเอาไปไว้ตำแหน่งเดียวกับไฟล์ ssi_examples.php ของบอร์ด.....แล้วใช้โค๊ด..ตอบ #8 ของท่าน....$data = @file_get_contents
(http://i944.photobucket.com/albums/ad289/metal2208/it4x/12-10-255316-11-54.png)
ส่วนที่มีปัญหาคือ รูปถัดไป ..ใช้โค๊ดจาก ตอบ #19...
แล้วมันได้ผลตามรูปนี้ครับ
(http://i944.photobucket.com/albums/ad289/metal2208/it4x/12-10-255316-19-47.png)
จากรูปข้างบนนี้
1.ถ้าจะให้แสดงภาษาไทยถูกต้อง ต้องแก้ยังไงครับ ? (เว็บผมใช้ charset=tis-620)
2.ถ้าจะเอาส่วนที่เป็นชื่อ หมวดบอร์ด ด้านหน้าออก ต้องเพิ่มคำสั่งอะไร ที่ (ผมจะเอาจากพวก Re: เป็นต้นไป)
3.ข้อความมันล้น แก้ยังไง (อันนี้ถามเพื่อประหยัดเวลา...จริงๆรูปบนสุด ตอนแรกก็เป็นแบบนี้แหละ...แก้มั่วๆเอา ชักจะลืม อิอิ)
ขอบคุณนะครับผม (พอดีผมหัดทำเว็บได้ไม่นานนะคัรบ)
ทำง่ายๆครับผม
ขั้นตอนแรก ให้เพิ่ม
ลงไว้ในหน้า index ก่อนครับ ที่เรา include ssi ไว้แล้วนะ
จากนั้นเปิดไฟล์ SSI.php
ให้ค้นหา
// Recent post list: [board] Subject by Poster Date
แล้วเพิ่ม อันนี้ด้านบน
function ssi_recentPosts2($num_recent = 8, $exclude_boards = null, $output_method = 'echo')
{
global $context, $settings, $scripturl, $txt, $db_prefix, $ID_MEMBER;
global $user_info, $modSettings, $func;
if ($exclude_boards === null && !empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0)
$exclude_boards = array($modSettings['recycle_board']);
else
$exclude_boards = empty($exclude_boards) ? array() : $exclude_boards;
// Find all the posts. Newer ones will have higher IDs.
$request = db_query("
SELECT
m.posterTime, m.subject, m.ID_TOPIC, m.ID_MEMBER, m.ID_MSG, m.ID_BOARD, b.name AS bName,
IFNULL(mem.realName, m.posterName) AS posterName, " . ($user_info['is_guest'] ? '1 AS isRead, 0 AS new_from' : '
IFNULL(lt.ID_MSG, IFNULL(lmr.ID_MSG, 0)) >= m.ID_MSG_MODIFIED AS isRead,
IFNULL(lt.ID_MSG, IFNULL(lmr.ID_MSG, -1)) + 1 AS new_from') . ", LEFT(m.body, 384) AS body, m.smileysEnabled
FROM ({$db_prefix}messages AS m, {$db_prefix}boards AS b)
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = m.ID_MEMBER)" . (!$user_info['is_guest'] ? "
LEFT JOIN {$db_prefix}log_topics AS lt ON (lt.ID_TOPIC = m.ID_TOPIC AND lt.ID_MEMBER = $ID_MEMBER)
LEFT JOIN {$db_prefix}log_mark_read AS lmr ON (lmr.ID_BOARD = m.ID_BOARD AND lmr.ID_MEMBER = $ID_MEMBER)" : '') . "
WHERE m.ID_MSG >= " . ($modSettings['maxMsgID'] - 25 * min($num_recent, 5)) . "
AND b.ID_BOARD = m.ID_BOARD" . (empty($exclude_boards) ? '' : "
AND b.ID_BOARD NOT IN (" . implode(', ', $exclude_boards) . ")") . "
AND $user_info[query_see_board]
ORDER BY m.ID_MSG DESC
LIMIT $num_recent", __FILE__, __LINE__);
$posts = array();
while ($row = mysql_fetch_assoc($request))
{
$row['body'] = strip_tags(strtr(parse_bbc($row['body'], $row['smileysEnabled'], $row['ID_MSG']), array('
' => ' ')));
if ($func['strlen']($row['body']) > 128)
$row['body'] = $func['substr']($row['body'], 0, 128) . '...';
// Censor it!
censorText($row['subject']);
censorText($row['body']);
// Build the array.
$posts[] = array(
'board' => array(
'id' => $row['ID_BOARD'],
'name' => $row['bName'],
'href' => $scripturl . '?board=' . $row['ID_BOARD'] . '.0',
'link' => '' . $row['bName'] . ''
),
'topic' => $row['ID_TOPIC'],
'poster' => array(
'id' => $row['ID_MEMBER'],
'name' => $row['posterName'],
'href' => empty($row['ID_MEMBER']) ? '' : $scripturl . '?action=profile;u=' . $row['ID_MEMBER'],
'link' => empty($row['ID_MEMBER']) ? $row['posterName'] : '' . $row['posterName'] . ''
),
'subject' => $row['subject'],
'short_subject' => shorten_subject($row['subject'], 25),
'preview' => $row['body'],
'time' => timeformat($row['posterTime']),
'timestamp' => forum_time(true, $row['posterTime']),
'href' => $scripturl . '?topic=' . $row['ID_TOPIC'] . '.msg' . $row['ID_MSG'] . ';topicseen#new',
'link' => '' . $row['subject'] . '',
'new' => !empty($row['isRead']),
'new_from' => $row['new_from'],
);
}
mysql_free_result($request);
// Just return it.
if ($output_method != 'echo' || empty($posts))
return $posts;
echo '
';
foreach ($posts as $post)
echo '
', $post['subject'], ' ', $txt[525], ' ', $post['poster']['link'], ' ', $post['new'] ? '' : '', ' |
', $post['time'], ' |
';
echo '
';
}
หมายเหตุ อยากตัดให้มันแสดงผลอะไรก็แก้ตรง table ข้างล่างนี้
กลับไปที่หน้า index ให้ใช้ Function นี้ในการแสดงแทน
ลองศึกษาทำตามดูน่าจะเข้าใจ
คำสั่งนี้
มันส่งผล ยังไงบ้างครับผม....เพราะเท่าที่ผมลอง...มันไม่มีการเปลี่ยนแปลงใดๆ เลยครับ
....ผมเอาไปใช้งานแบบตามที่คุณโมชิบอกมาคือ... " ขั้นตอนแรก ให้เพิ่ม " .....ไม่รู้ว่าใช้ถูกป่ะ...แบบนี้คัรบ
ืNote..
** ผมลองแก้ปัญหา โดยการเปลี่ยน charset=tis-620 เป็น charset=utf-8 ...มันก็โอเค...แต่มันก็ไปมีปัญหากับข่าวประจำวันที่ดึงมา ซะงั้น (คือข่าว ดันเป็นภาษาต่างดาวซะอีก) ==>> http://www.phanom.go.th/indextest5.php (http://www.phanom.go.th/indextest5.php) ....อันนี้สลับกัน==>>http://www.phanom.go.th/indextest6.php (http://www.phanom.go.th/indextest6.php)**
** ไปแอบดูก็ได้คัรบ อิอิ ...จริงๆแล้วเว็บบอร์ดที่ผมจะเอามาโชว์หน้าแรก..มันไม่มีไรน่าโชว์เลย...มันเป็นเว็บราชการ...แต่ผมทำเพราะผมอยากรู้หน่ะครับ **
ตอบคุณ metal4x นะครับ
เนี่ยครับใยนเว็บคุณ มี
ดังนั้นไม่จำเป็นต้องใส่ ลบโค้ดออกได้เลย
ผมจะพาแก้ที่หน้า index5 นะครับ
ตรงข่าวล่าสุดของคุณอ่ะ ผมไม่รุ้ว่าใช้โค้ดอะไรนะ แต่จะพาแก้ง่ายๆครับ
สมมุติละกัน ข่าวของคุณ echo $data; ใช่ป่ะ
ให้เราเพิ่มบรรทัดนี้เข้าไปก่อน
$data = iconv('windows-874','UTF-8',$data);
คำสั่งนี้คือแปลงจาก tis-620 ให้เป็น Utf-8 เพื่อที่จะแสดงผลไม่เพี๊ยน
จะได้แบบนี้
$data = iconv('windows-874','UTF-8',$data);
echo $data;
ครับผม.....ขอบคุณมากครับ..สำหรับคำแนะนำทั้งหมด
มาขอบคุณช้าเพราะ Bot เข้ามาในเว็บบอร์ดตรึมเลยครับ
ขอแปะลิงค์กำจัด Bot SMF หน่อยนะคัรบ ...เผื่อมีประโยชน์สำหรับเพื่อนๆ
ระบบป้องกัน Spam ต่างชาติ [SMF] ===>> http://www.thaiseoboard.com/index.php/topic,113551.msg1564827/topicseen.html#new (http://www.thaiseoboard.com/index.php/topic,113551.msg1564827/topicseen.html#new)
การป้องกัน Spam สำหรับบอร์ด SMF ===>> http://hackerskill.net/2514/msg/6930 (http://hackerskill.net/2514/msg/6930)
....มีปัญหาจะมารบกวนใหม่....ขอบคุณมากครับผม