IT4X เทคนิคคอมพิวเตอร์ โน๊ตบุค ข่าว IT

ข่าวสาร / ความรู้ => คนทำเว็บ => ข้อความที่เริ่มโดย: King69 ที่ ตุลาคม 01, 2010, 13:59:50

หัวข้อ: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: King69 ที่ ตุลาคม 01, 2010, 13:59:50
 มาจากไทยเสียวนะครับ ขอสอบถามการดึงหัวข้อใหม่มาแสดงตามแต่ละหมวดหมู่แบบหน้าเว็บนี้หน่อยครับหน่อยครับ  ขอแบบละเอียดหน่อยนะครับ 

ขอบคุณครับ  :-*
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: Moshi ที่ ตุลาคม 01, 2010, 14:16:00
อันดับแรกสร้างไฟล์ ขึ้น PHP ขึ้นมา 1 ไฟล์เช่น  it.php  เอาไว้ตำแหน่งเดียวกับไฟล์ ssi_examples.php ของบอร์ด

แล้ว copy โ๊ค๊ดนี้ลงไป

ของผมในตัวอย่างนี้ จะดึงบอร์ด it มาโชว์ 10 กระทู้ล่าสุดนะครับ แล้วบอร์ดข่าว it ของผมรหัสบอร์ดคือ 23

โค๊ด: [Select]

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

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


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


?>










:: <?=$list ?> กระทู้ล่าสุดจากบอร์ด it







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("วันนี้ .", $marr["posterTime"]);
} else {
$time = date("เมื่อวานนี้ .", $marr["posterTime"]);
}
$bgc = $bgc+1;
$title = str_replace('[it]?', '[it] ', $title);
echo '



';
}

?>

'.$title.' &#3650;&#3604;&#3618; '.$poster.'






เสร็จเรียบร้อย เราก็ไปแก้หน้า index ของเราหรือหน้าแรกที่ต้องการให้แสดงนั่นเอง

แล้วเพิ่มโค้ดดังนี้

โค๊ด: [Select]
    $data = file_get_contents('http://it4x.com/forum/it.php');
$data = iconv('windows-874','UTF-8',$data);
   echo $data;
  ?>


ตรงตำแหน่งไฟล์  it.php  ก็แก้เป็นที่คุณอัพลงไปครับ แค่นี้หล่ะ ขอให้สนุกครับ

แต่ถ้ามีหลายๆบอร์ดหล่ะ

ก็สร้างแบบเดียวกันครับ แต่เปลี่ยนชื่อไฟล์จาก it.php เป็นชื่อ อื่นๆ แล้วก็ get_contents หลายๆไฟล์ครับ
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: ßë©äûšë ที่ ตุลาคม 01, 2010, 15:23:15
โอ้โฮเฮะ ตามมาจากไทยเสียวด้วย นึกว่าจะสิงอยู่ที่นั่นกันตลอดไม่ไปไหนกันแล้ว ;)
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: King69 ที่ ตุลาคม 01, 2010, 16:28:03
ลองแล้วมันขึ้น

Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /home/user/domains/xxxxxx.com/public_html/index.php  on line 71

Warning: file_get_contents([direct]http://xxxxxx.com/webboard/news.php[/direct]) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /home/user/domains/xxxxxx.com/public_html/index.php on line 71

พอดีจะเอาข่าวมาแสดงอะครับ เลยสร้างไฟล์ news.php วางไว้ที่เดี่ยวกับ ssi_examples.php  แล้ว  เปลี่ยนค่าตามบอร์ดแล้ว  :P
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: Moshi ที่ ตุลาคม 01, 2010, 16:42:01
webboard ใช้อยู่ตำแหน่งนี้ป่าว [direct=http://www.domainxxx.com/weboard/]www.domainxxx.com/weboard/[/direct]

็Host ที่ใช้ PHP4 หรือ PHP5 ครับ

จากที่มันฟ้องอย่างนั้นแสดงว่า เจ้าของโฮสเค้าไม่เปิดให้ใช้ function.file-get-contents อ่ะครับ

งั้นแก้ง่ายๆ แต่รูปแบบมันอาจจะออกมาไม่สวยอ่ะครับ โดยการ

โค๊ด: [Select]
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: King69 ที่ ตุลาคม 01, 2010, 16:53:02
พอใส่

โค๊ด: [Select]

มันขึ้น

Warning: include() [function.include]: URL file-access is disabled in the server configuration in /home/user/domains/xxxxxx.com/public_html/index.php  on line 70

Warning: include([direct]http://xxxxx.com/webboard/news.php[/direct]) [function.include]: failed to open stream: no suitable wrapper could be found in /home/user/domains/xxxxxx.com/public_html/index.php on line 70

Warning: include() [function.include]: Failed opening '[direct]http://xxxxx.com/webboard/news.php'[/direct] for inclusion (include_path='.:/usr/local/lib/php') in /home/user/domains/xxxxxx.com/public_html/index.php on line 70


เริ่มงง  :P
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: Moshi ที่ ตุลาคม 01, 2010, 17:09:56
กำจิงๆ งั้น Hosting ที่ใช้อยู่ PHP4 หรือ PHP5 ครับ ใช้ Hosting ของอะไรอยู่อ่ะ

ตอนนี้ก็แก้ขัดไปก่อนนะครับ

โค๊ด: [Select]

อย่าลืม ตอบผมหล่ะ เดียวผมหาคำสั่งขอ PHP5 มาก่อน ลืมละเขียนไง
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: King69 ที่ ตุลาคม 01, 2010, 18:19:32
เป็น php5 ครับผม

เอาโค๊ด rep ด้านบนไปใส่มันก็ขึ้นแล้วนะครับ

แต่มันไม่ค่อยสวยแหะ   :P

เพราะสี bg มันเป็นสีฟ้าๆ  เรามีวิธีใส่สีให้ bg เป็นสีเดียวกับพื้นหลังบน iframe ป่าวครับ
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: Moshi ที่ ตุลาคม 01, 2010, 23:27:16
ลองนี่ดูนะครับ PHP5

โค๊ด: [Select]
        $data = @file_get_contents('http://it4x.com/forum/it.php');
    $data = iconv('windows-874','UTF-8',$data);
      echo $data;
  ?>

ถ้าไม่ได้ยังไงจะมาแก้ไขให้อีกทีครับ
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: King69 ที่ ตุลาคม 01, 2010, 23:53:26
ลองใช้โค๊ดตามrepบนไม่ได้แหะ ไม่แสดงอะไรเลย  หรือว่าได้แต่iframe อะครับ  :P
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: Moshi ที่ ตุลาคม 02, 2010, 07:45:12
เข้าใจแล้วครับ Host ที่ใช้อยู่เค้าไม่เปิด ฟังก์ชั่น File Get Content ให้อ่ะครับ

งั้นแนะนำให้ใช้ Iframe ใสเอาครับ

>> [direct]http://www.it4x.com/forum/index.php/topic,7332.0.html[/direct]

หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: ßë©äûšë ที่ ตุลาคม 02, 2010, 10:58:03
โอ้โฮเฮะ WM เรา PHP แน่นจริงๆ +1 เลยละกัน :D
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: King69 ที่ ตุลาคม 04, 2010, 14:03:27
ขอต่ออีกนิดนะครับ   ผมลองใช้โค๊ด

โค๊ด: [Select]
include('webboard/news.php');
?>


ดึงมาแสดงได้แล้วครับ   แต่ปัญหามันอยู่ตรงที่ว่า  ผมต้องการดึงจากหลายหมวดหมู่มาแสดง แต่ทำไมมันแสดงหมวดหมู่เดียวกันหมดเลยอ่ะครับ

(http://image.ohozaa.com/ij/3j1111.jpg)

จากรูปจะเห็นว่าข่าวกีฬากับตารางการแข่งขันเหมือนดึงมากันเลย คือเป็นกระทู้จากหมวดหมู่กีฬา ทั้งๆที่ตรงตารางการแข่งขัน ผม include มาจากอีกไฟล์นึง (webboard/program.php)  แต่มันก็โชว์ของ news.php หมดเลย แต่ถ้าเราเอา program.php ไว้ด้านบน ก็จะแสดงกระทู้จากหมวดหมู่ตารางการแข่งขันแทนทั้งหมด (คือขึ้นอยู่กับinclude ตัวแรกคือไฟล์อะไรอะครับ  ถ้าผมอยากให้มันแสดงแต่ละหมวดหมู่ต้องทำยังไงหว่า  งง  :-X :-X
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: Moshi ที่ ตุลาคม 04, 2010, 17:12:50
อ่าเยี่ยมเลยครับ ตอนนี้ ใช้ฟังค์ชั่น include ได้แล้ว น่าจะใช้ Get Content ได้แล้วเหมือนกันนะครับ

แนะนำให้ใช้ get content แทนนะครับ

เพราะ Include นี่เป็นการเรียก ข้อมูลทั้งหมดในไฟล์มาแสดง ซึ่งมันทำให้เกิด reload ข้อมูลของไฟล์แรก หมวดหมู่มันจึงไม่เปลี่ยนอ่ะครับ

จึงแนะนำให้ get content อ่ะครับ
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: King69 ที่ ตุลาคม 06, 2010, 12:36:28
เราจะใช้คำสั่ง get content ยังไงอะครับ  :P
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: Moshi ที่ ตุลาคม 06, 2010, 12:48:09
เราจะใช้คำสั่ง get content ยังไงอะครับ  :P

แบบที่ตอบครั้งเเรกเลยไงครับ
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: metal4x ที่ ตุลาคม 06, 2010, 16:51:26
มีประโยชน์มากครับ....กะลังทำตามอยู่ครับ
............................................
รหัสบอร์ด ดูตรงใหนครับ ???... ผมต้องการในส่วนของ " กระทู้เมื่อเร็วๆ นี้  " ...ไม่ทราบว่ามีรหัสบอร์ด้วยป่ะ...กะลังหาครับ
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: Moshi ที่ ตุลาคม 06, 2010, 21:50:21
มีประโยชน์มากครับ....กะลังทำตามอยู่ครับ
............................................
รหัสบอร์ด ดูตรงใหนครับ ???... ผมต้องการในส่วนของ " กระทู้เมื่อเร็วๆ นี้  " ...ไม่ทราบว่ามีรหัสบอร์ด้วยป่ะ...กะลังหาครับ

รหัสบอร์ดก็ดูจาก หน้าแรกของบอร์ดเลยไงครับ

ให้เราลอง copy link มันมา แบบนี้ >> [direct]http://www.it4x.com/forum/index.php/board,2.0.html[/direct]

รหัสบอร์ดคือ 2.0 หรือ 2 นั่นเองคงเดาออกแล้วใช่ไหมครับว่าดูตรงไหน
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: metal4x ที่ ตุลาคม 07, 2010, 03:01:13
ขอบคณมากคับ ต่ออีกนิดนะคับ....จริงๆ แล้วผมอยากจะเอา ..." กระทู้เมื่อเร็วๆ นี้  " ...ไปไว้หน้าแรกมากกว่าคับ..อยากจะเน้นที่คนโพสท์ตอบล่าสุดมากกว่านะคับ ..ลองหาดูๆแล้วมันไม่มีลิงค์ แบบคล้ายๆรหัสบอร์ดนะคับ...ทำไงดีเอ่ย ??

..." กระทู้เมื่อเร็วๆ นี้  " แบบของ it4x ตามรูปนี้คับ
(http://i944.photobucket.com/albums/ad289/metal2208/it4x/7-10-25532-43-08.png)
อยากเอาไปวางไว้หน้าแรกซัก 15 โพสท์
รอ k.Moshi ตอบอีกแหละคับ...ขอบคุณคับผม
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: Moshi ที่ ตุลาคม 07, 2010, 07:56:11
ตอนแรกนะครับ เข้าหน้า ssi_examples.php

>> เช่นบอร์ดผม [direct=http://www.it4x.com/forum/ssi_examples.php]www.it4x.com/forum/ssi_examples.php[/direct]

จากนั้น หาคำว่า

To use SSI.php in your page add at the very top of your page before the tag on line 1:



เอาบรรทัดตรงสีแดงของผมเนี่ย แต่เอาของเว็บคุณนะ ไปไว้บนสุดของหน้า Index

จากนั้น อยากให้หัวข้อล่าสุดแสดงตรงไหนของหน้า index ก็ใช้ Function นี้

จากตัวอย่างให้แสดง 15 หัวข้อล่าสุดนะครับ เป็นหัวข้อแบบไม่มีคำ่ว่า RE:

โค๊ด: [Select]

แต่ถ้าอยากให้มีคำว่า RE หรือหัวข้อที่ตอบล่าสุด ทั้งหมดเลย

โค๊ด: [Select]

ลองไปประยุกต์ใช้ดูนะครับ

หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: metal4x ที่ ตุลาคม 08, 2010, 02:45:35
ขอบคุณครับผม...จะลองดูคับ...(ตอบไวมากเลย... ยอดเยี่ยมคับ)
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: Moshi ที่ ตุลาคม 08, 2010, 07:27:55
เราจะใช้คำสั่ง get content ยังไงอะครับ  :P

ผมไปหาวิธีแก้มาละใช้ curl แทน

โค๊ด: [Select]
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "insert.php");
curl_setopt($ch, CURLOPT_HEADER, 0);
$ch = iconv('windows-874','UTF-8',$ch);
curl_exec($ch);
curl_close($ch);
?>

ลองดุนะครับ
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแ&
เริ่มหัวข้อโดย: step69 ที่ ตุลาคม 08, 2010, 14:43:37
 :'( พี่ ๆครับผมตามอ่านมาจนหมดละ ผมขอถามเรื่อง การแสดงกระทู้ต่อจากที่พี่ ๆถามาเเล้วนะครับคือ

หลังจากที่ผมเพิ่ม code ไปเเล้วมัน Error แบบนี้ครับ
โค๊ด: [Select]
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/stepcom/domains/xxxx.com/public_html/webbroad/showborad.php on line 42

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/stepcom/domains/xxxxx.com/public_html/webbroad/showborad.php on line 43

พี่ผมพออ่านเเล้วเข้าใจว่าประมาณ ว่าตรงที่
โค๊ด: [Select]
@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 ";

}
อันนี้ตามตัวอย่างที่พี่ได้โพสไว้คราวนี้ผมไม่รู้ว่าจะให้เชื่อกับตารางไหนหนะครับ ผมอยากว่าหัวข้อกระทู้มันอยู่ตรงตารางไหนเพราะว่า smf มันมีหลายตารางมากเลย รบกวนพี่ๆ ด้วยครับ
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: Moshi ที่ ตุลาคม 08, 2010, 21:18:36
:'( พี่ ๆครับผมตามอ่านมาจนหมดละ ผมขอถามเรื่อง การแสดงกระทู้ต่อจากที่พี่ ๆถามาเเล้วนะครับคือ

หลังจากที่ผมเพิ่ม code ไปเเล้วมัน Error แบบนี้ครับ
โค๊ด: [Select]
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/stepcom/domains/step69.com/public_html/webbroad/showborad.php on line 42

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/stepcom/domains/step69.com/public_html/webbroad/showborad.php on line 43

พี่ผมพออ่านเเล้วเข้าใจว่าประมาณ ว่าตรงที่
โค๊ด: [Select]
@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 ";

}
อันนี้ตามตัวอย่างที่พี่ได้โพสไว้คราวนี้ผมไม่รู้ว่าจะให้เชื่อกับตารางไหนหนะครับ ผมอยากว่าหัวข้อกระทู้มันอยู่ตรงตารางไหนเพราะว่า smf มันมีหลายตารางมากเลย รบกวนพี่ๆ ด้วยครับ

ผมไม่เข้าใจอ่ะครับ หมายถึง แสดงหน้า showborad.php ได้ยังครับ แอบอ่านจากชื่อ

กด เปิดหน้า showborad.php แล้วมัน ERRor ว่าอะไรบ้างครับ
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแ&
เริ่มหัวข้อโดย: step69 ที่ ตุลาคม 09, 2010, 10:55:24
มัน error เเบนี้ครับ ขอบคุณมากนะครั ที่กรุณาตอบ
(http://www.it4x.com/forum/index.php?action=dlattach;topic=7327.0;attach=518;image)
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: metal4x ที่ ตุลาคม 12, 2010, 17:14:07
กระทู้นี้..ท่าจะยาวว....ของผมต่อนะท่านโมชิ...(เรื่องการเอา 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.ข้อความมันล้น
แก้ยังไง (อันนี้ถามเพื่อประหยัดเวลา...จริงๆรูปบนสุด ตอนแรกก็เป็นแบบนี้แหละ...แก้มั่วๆเอา ชักจะลืม อิอิ)

ขอบคุณนะครับผม (พอดีผมหัดทำเว็บได้ไม่นานนะคัรบ)
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: Moshi ที่ ตุลาคม 12, 2010, 23:31:03
ทั้ง 2 คนเดียวผมมาตอบให้นะครับ พึ่งกลับมาจากต่างจังหวัดเหนื่อยๆ หุหุ
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแ&
เริ่มหัวข้อโดย: Moshi ที่ ตุลาคม 13, 2010, 09:01:58
มัน 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

มันจะให้

เอาอันนี้ไว้บนสุด

โค๊ด: [Select]

จากนั้น ใช้แบบ advance

โค๊ด: [Select]



ตรง $exclude_boards ค่า Null ก็ลองเปลี่ยนเป็น รหัสบอร์ดดูครับ น่าจะใช่มั้ง หุหุ ถ้าเดาไม่ผิด ลองดูครับๆ
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: Moshi ที่ ตุลาคม 13, 2010, 10:15:45
กระทู้นี้..ท่าจะยาวว....ของผมต่อนะท่านโมชิ...(เรื่องการเอา 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.ข้อความมันล้น
แก้ยังไง (อันนี้ถามเพื่อประหยัดเวลา...จริงๆรูปบนสุด ตอนแรกก็เป็นแบบนี้แหละ...แก้มั่วๆเอา ชักจะลืม อิอิ)

ขอบคุณนะครับผม (พอดีผมหัดทำเว็บได้ไม่นานนะคัรบ)


ทำง่ายๆครับผม

ขั้นตอนแรก ให้เพิ่ม

โค๊ด: [Select]

ลงไว้ในหน้า index ก่อนครับ ที่เรา include ssi ไว้แล้วนะ

จากนั้นเปิดไฟล์ SSI.php

ให้ค้นหา

โค๊ด: [Select]
// Recent post list:   [board] Subject by Poster    Date
แล้วเพิ่ม อันนี้ด้านบน

โค๊ด: [Select]
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('
' => '&#10;')));
        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 '
           
               
               
            ';
    echo '
       

                    ', $post['subject'], '
                    ', $txt[525], ' ', $post['poster']['link'], '
                    ', $post['new'] ? '' : '' . $txt[302] . '', '
               

                    ', $post['time'], '
               
';
}

หมายเหตุ อยากตัดให้มันแสดงผลอะไรก็แก้ตรง table ข้างล่างนี้

กลับไปที่หน้า index ให้ใช้ Function นี้ในการแสดงแทน

โค๊ด: [Select]

ลองศึกษาทำตามดูน่าจะเข้าใจ
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: metal4x ที่ ตุลาคม 18, 2010, 00:16:39
คำสั่งนี้
โค๊ด: [Select]
มันส่งผล ยังไงบ้างครับผม....เพราะเท่าที่ผมลอง...มันไม่มีการเปลี่ยนแปลงใดๆ เลยครับ

....ผมเอาไปใช้งานแบบตามที่คุณโมชิบอกมาคือ... " ขั้นตอนแรก ให้เพิ่ม  " .....ไม่รู้ว่าใช้ถูกป่ะ...แบบนี้คัรบ
โค๊ด: [Select]







ื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)**

** ไปแอบดูก็ได้คัรบ อิอิ ...จริงๆแล้วเว็บบอร์ดที่ผมจะเอามาโชว์หน้าแรก..มันไม่มีไรน่าโชว์เลย...มันเป็นเว็บราชการ...แต่ผมทำเพราะผมอยากรู้หน่ะครับ **
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: Moshi ที่ ตุลาคม 18, 2010, 07:12:18
ตอบคุณ metal4x นะครับ

เนี่ยครับใยนเว็บคุณ มี

โค๊ด: [Select]

ดังนั้นไม่จำเป็นต้องใส่ ลบโค้ดออกได้เลย

โค๊ด: [Select]


ผมจะพาแก้ที่หน้า index5 นะครับ

ตรงข่าวล่าสุดของคุณอ่ะ ผมไม่รุ้ว่าใช้โค้ดอะไรนะ แต่จะพาแก้ง่ายๆครับ

สมมุติละกัน ข่าวของคุณ echo $data; ใช่ป่ะ

ให้เราเพิ่มบรรทัดนี้เข้าไปก่อน

โค๊ด: [Select]
$data = iconv('windows-874','UTF-8',$data);
คำสั่งนี้คือแปลงจาก tis-620 ให้เป็น Utf-8 เพื่อที่จะแสดงผลไม่เพี๊ยน

จะได้แบบนี้


โค๊ด: [Select]
$data = iconv('windows-874','UTF-8',$data);
echo $data;
หัวข้อ: Re: ถามเรื่องการดึงหัวข้อใหม่ของ smf มาแสดงแบบหน้าแรกเว็บนี้หน่อยครับ
เริ่มหัวข้อโดย: metal4x ที่ ตุลาคม 22, 2010, 23:35:26
ครับผม.....ขอบคุณมากครับ..สำหรับคำแนะนำทั้งหมด

มาขอบคุณช้าเพราะ 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)

....มีปัญหาจะมารบกวนใหม่....ขอบคุณมากครับผม