มาจากไทยเสียวนะครับ ขอสอบถามการดึงหัวข้อใหม่มาแสดงตามแต่ละหมวดหมู่แบบหน้าเว็บนี้หน่อยครับหน่อยครับ ขอแบบละเอียดหน่อยนะครับ
ขอบคุณครับ :-*
🏷️ หัวข้อที่เกี่ยวข้อง
📤 แชร์บทความนี้
💬 การตอบกลับ 31
Moshi
16,996 โพสต์
อันดับแรกสร้างไฟล์ ขึ้น PHP ขึ้นมา 1 ไฟล์เช่น it.php เอาไว้ตำแหน่งเดียวกับไฟล์ ssi_examples.php ของบอร์ด
แล้ว copy โ๊ค๊ดนี้ลงไป
ของผมในตัวอย่างนี้ จะดึงบอร์ด it มาโชว์ 10 กระทู้ล่าสุดนะครับ แล้วบอร์ดข่าว it ของผมรหัสบอร์ดคือ 23
เสร็จเรียบร้อย เราก็ไปแก้หน้า index ของเราหรือหน้าแรกที่ต้องการให้แสดงนั่นเอง
แล้วเพิ่มโค้ดดังนี้
ตรงตำแหน่งไฟล์ it.php ก็แก้เป็นที่คุณอัพลงไปครับ แค่นี้หล่ะ ขอให้สนุกครับ
แต่ถ้ามีหลายๆบอร์ดหล่ะ
ก็สร้างแบบเดียวกันครับ แต่เปลี่ยนชื่อไฟล์จาก it.php เป็นชื่อ อื่นๆ แล้วก็ get_contents หลายๆไฟล์ครับ
แล้ว copy โ๊ค๊ดนี้ลงไป
ของผมในตัวอย่างนี้ จะดึงบอร์ด it มาโชว์ 10 กระทู้ล่าสุดนะครับ แล้วบอร์ดข่าว it ของผมรหัสบอร์ดคือ 23
<?php
$list = "10"; // ต้องการให้โชว์กี่กระทู้ล่ะ ใส่เข้าไปได้เลย
$sboard = "1"; // ใส่ 0 ถ้าต้องการกระทู้จากบอร์ดทุกบอร์ด และใส่ 1 ถ้าต้องการเจาะจงบอร์ด
if (empty($board)) {
$board = "23.0"; // เปลี่ยนตรงนี้ถ้าอยากให้บอร์ดไหนเป็นค่า default
}
?>
<html>
<head>
<meta http-equiv="Content-Language" content="th">
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<title>:: <?=$list ?> กระทู้ล่าสุดจากบอร์ด it</title>
<base target="_blank">
</head>
<body bgcolor=#E5E5FF>
<span class="style1">
<table class="ssi_table" border="0" cellspacing="0" cellpadding="0" width="670">
<?
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("<font color='#FF0000'><b>วันนี้ .</font></b>", $marr["posterTime"]);
} else {
$time = date("<b>เมื่อวานนี้ .</b>", $marr["posterTime"]);
}
$bgc = $bgc+1;
$title = str_replace('[it]?', '[it] ', $title);
echo '
<tr class="', $bgc % 2 == 0 ? 'bg1' : 'bg2', '">
<td>
<a href="forum/index.php/topic,'.$tid.'.0.html" target="_blank"><b>'.$title.'</b></a> โดย '.$poster.'
</td>
</tr>
';
}
?>
</table>
</span>
</body>
</html>เสร็จเรียบร้อย เราก็ไปแก้หน้า index ของเราหรือหน้าแรกที่ต้องการให้แสดงนั่นเอง
แล้วเพิ่มโค้ดดังนี้
<?php
$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 หลายๆไฟล์ครับ
✏️ แก้ไขล่าสุด: 1 ตุลาคม 2553
ßë©äûšë
Teelek Programmer ·
1,534 โพสต์
โอ้โฮเฮะ ตามมาจากไทยเสียวด้วย นึกว่าจะสิงอยู่ที่นั่นกันตลอดไม่ไปไหนกันแล้ว ;)
King69
7 โพสต์
ลองแล้วมันขึ้น
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
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
Moshi
16,996 โพสต์
webboard ใช้อยู่ตำแหน่งนี้ป่าว [direct=http://www.domainxxx.com/weboard/]www.domainxxx.com/weboard/[/direct]
็Host ที่ใช้ PHP4 หรือ PHP5 ครับ
จากที่มันฟ้องอย่างนั้นแสดงว่า เจ้าของโฮสเค้าไม่เปิดให้ใช้ function.file-get-contents อ่ะครับ
งั้นแก้ง่ายๆ แต่รูปแบบมันอาจจะออกมาไม่สวยอ่ะครับ โดยการ
็Host ที่ใช้ PHP4 หรือ PHP5 ครับ
จากที่มันฟ้องอย่างนั้นแสดงว่า เจ้าของโฮสเค้าไม่เปิดให้ใช้ function.file-get-contents อ่ะครับ
งั้นแก้ง่ายๆ แต่รูปแบบมันอาจจะออกมาไม่สวยอ่ะครับ โดยการ
<?php include("news.php"); ?> ✏️ แก้ไขล่าสุด: 1 ตุลาคม 2553
King69
7 โพสต์
พอใส่
มันขึ้น
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
<?php include("news.php"); ?>มันขึ้น
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
Moshi
16,996 โพสต์
กำจิงๆ งั้น Hosting ที่ใช้อยู่ PHP4 หรือ PHP5 ครับ ใช้ Hosting ของอะไรอยู่อ่ะ
ตอนนี้ก็แก้ขัดไปก่อนนะครับ
อย่าลืม ตอบผมหล่ะ เดียวผมหาคำสั่งขอ PHP5 มาก่อน ลืมละเขียนไง
ตอนนี้ก็แก้ขัดไปก่อนนะครับ
<iframe src="news.php" frameborder="0"></iframe>อย่าลืม ตอบผมหล่ะ เดียวผมหาคำสั่งขอ PHP5 มาก่อน ลืมละเขียนไง
✏️ แก้ไขล่าสุด: 1 ตุลาคม 2553
King69
7 โพสต์
เป็น php5 ครับผม
เอาโค๊ด rep ด้านบนไปใส่มันก็ขึ้นแล้วนะครับ
แต่มันไม่ค่อยสวยแหะ :P
เพราะสี bg มันเป็นสีฟ้าๆ เรามีวิธีใส่สีให้ bg เป็นสีเดียวกับพื้นหลังบน iframe ป่าวครับ
เอาโค๊ด rep ด้านบนไปใส่มันก็ขึ้นแล้วนะครับ
แต่มันไม่ค่อยสวยแหะ :P
เพราะสี bg มันเป็นสีฟ้าๆ เรามีวิธีใส่สีให้ bg เป็นสีเดียวกับพื้นหลังบน iframe ป่าวครับ
Moshi
16,996 โพสต์
ลองนี่ดูนะครับ PHP5
ถ้าไม่ได้ยังไงจะมาแก้ไขให้อีกทีครับ
<?php
$data = @file_get_contents('http://it4x.com/forum/it.php');
$data = iconv('windows-874','UTF-8',$data);
echo $data;
?>ถ้าไม่ได้ยังไงจะมาแก้ไขให้อีกทีครับ
King69
7 โพสต์
ลองใช้โค๊ดตามrepบนไม่ได้แหะ ไม่แสดงอะไรเลย หรือว่าได้แต่iframe อะครับ :P
Moshi
16,996 โพสต์
เข้าใจแล้วครับ Host ที่ใช้อยู่เค้าไม่เปิด ฟังก์ชั่น File Get Content ให้อ่ะครับ
งั้นแนะนำให้ใช้ Iframe ใสเอาครับ
>> [direct]http://www.it4x.com/forum/index.php/topic,7332.0.html[/direct]
งั้นแนะนำให้ใช้ Iframe ใสเอาครับ
>> [direct]http://www.it4x.com/forum/index.php/topic,7332.0.html[/direct]
ßë©äûšë
Teelek Programmer ·
1,534 โพสต์
โอ้โฮเฮะ WM เรา PHP แน่นจริงๆ +1 เลยละกัน :D
King69
7 โพสต์
ขอต่ออีกนิดนะครับ ผมลองใช้โค๊ด
ดึงมาแสดงได้แล้วครับ แต่ปัญหามันอยู่ตรงที่ว่า ผมต้องการดึงจากหลายหมวดหมู่มาแสดง แต่ทำไมมันแสดงหมวดหมู่เดียวกันหมดเลยอ่ะครับ

จากรูปจะเห็นว่าข่าวกีฬากับตารางการแข่งขันเหมือนดึงมากันเลย คือเป็นกระทู้จากหมวดหมู่กีฬา ทั้งๆที่ตรงตารางการแข่งขัน ผม include มาจากอีกไฟล์นึง (webboard/program.php) แต่มันก็โชว์ของ news.php หมดเลย แต่ถ้าเราเอา program.php ไว้ด้านบน ก็จะแสดงกระทู้จากหมวดหมู่ตารางการแข่งขันแทนทั้งหมด (คือขึ้นอยู่กับinclude ตัวแรกคือไฟล์อะไรอะครับ ถ้าผมอยากให้มันแสดงแต่ละหมวดหมู่ต้องทำยังไงหว่า งง :-X :-X
<?php
include('webboard/news.php');
?> ดึงมาแสดงได้แล้วครับ แต่ปัญหามันอยู่ตรงที่ว่า ผมต้องการดึงจากหลายหมวดหมู่มาแสดง แต่ทำไมมันแสดงหมวดหมู่เดียวกันหมดเลยอ่ะครับ

จากรูปจะเห็นว่าข่าวกีฬากับตารางการแข่งขันเหมือนดึงมากันเลย คือเป็นกระทู้จากหมวดหมู่กีฬา ทั้งๆที่ตรงตารางการแข่งขัน ผม include มาจากอีกไฟล์นึง (webboard/program.php) แต่มันก็โชว์ของ news.php หมดเลย แต่ถ้าเราเอา program.php ไว้ด้านบน ก็จะแสดงกระทู้จากหมวดหมู่ตารางการแข่งขันแทนทั้งหมด (คือขึ้นอยู่กับinclude ตัวแรกคือไฟล์อะไรอะครับ ถ้าผมอยากให้มันแสดงแต่ละหมวดหมู่ต้องทำยังไงหว่า งง :-X :-X
Moshi
16,996 โพสต์
อ่าเยี่ยมเลยครับ ตอนนี้ ใช้ฟังค์ชั่น include ได้แล้ว น่าจะใช้ Get Content ได้แล้วเหมือนกันนะครับ
แนะนำให้ใช้ get content แทนนะครับ
เพราะ Include นี่เป็นการเรียก ข้อมูลทั้งหมดในไฟล์มาแสดง ซึ่งมันทำให้เกิด reload ข้อมูลของไฟล์แรก หมวดหมู่มันจึงไม่เปลี่ยนอ่ะครับ
จึงแนะนำให้ get content อ่ะครับ
แนะนำให้ใช้ get content แทนนะครับ
เพราะ Include นี่เป็นการเรียก ข้อมูลทั้งหมดในไฟล์มาแสดง ซึ่งมันทำให้เกิด reload ข้อมูลของไฟล์แรก หมวดหมู่มันจึงไม่เปลี่ยนอ่ะครับ
จึงแนะนำให้ get content อ่ะครับ
King69
7 โพสต์
เราจะใช้คำสั่ง get content ยังไงอะครับ :P
Moshi
16,996 โพสต์
— King69 link=topic=7327.msg18370#msg18370 date=1286343388
เราจะใช้คำสั่ง get content ยังไงอะครับ :P
แบบที่ตอบครั้งเเรกเลยไงครับ
metal4x
12 โพสต์
มีประโยชน์มากครับ....กะลังทำตามอยู่ครับ
............................................
รหัสบอร์ด ดูตรงใหนครับ ???... ผมต้องการในส่วนของ " กระทู้เมื่อเร็วๆ นี้ " ...ไม่ทราบว่ามีรหัสบอร์ด้วยป่ะ...กะลังหาครับ
............................................
รหัสบอร์ด ดูตรงใหนครับ ???... ผมต้องการในส่วนของ " กระทู้เมื่อเร็วๆ นี้ " ...ไม่ทราบว่ามีรหัสบอร์ด้วยป่ะ...กะลังหาครับ
✏️ แก้ไขล่าสุด: 6 ตุลาคม 2553
Moshi
16,996 โพสต์
— metal4x link=topic=7327.msg18391#msg18391 date=1286358686
มีประโยชน์มากครับ....กะลังทำตามอยู่ครับ
............................................
รหัสบอร์ด ดูตรงใหนครับ ???... ผมต้องการในส่วนของ " กระทู้เมื่อเร็วๆ นี้ " ...ไม่ทราบว่ามีรหัสบอร์ด้วยป่ะ...กะลังหาครับ
รหัสบอร์ดก็ดูจาก หน้าแรกของบอร์ดเลยไงครับ
ให้เราลอง copy link มันมา แบบนี้ >> [direct]http://www.it4x.com/forum/index.php/board,2.0.html[/direct]
รหัสบอร์ดคือ 2.0 หรือ 2 นั่นเองคงเดาออกแล้วใช่ไหมครับว่าดูตรงไหน
metal4x
12 โพสต์
ขอบคณมากคับ ต่ออีกนิดนะคับ....จริงๆ แล้วผมอยากจะเอา ..." กระทู้เมื่อเร็วๆ นี้ " ...ไปไว้หน้าแรกมากกว่าคับ..อยากจะเน้นที่คนโพสท์ตอบล่าสุดมากกว่านะคับ ..ลองหาดูๆแล้วมันไม่มีลิงค์ แบบคล้ายๆรหัสบอร์ดนะคับ...ทำไงดีเอ่ย ??
..." กระทู้เมื่อเร็วๆ นี้ " แบบของ it4x ตามรูปนี้คับ

อยากเอาไปวางไว้หน้าแรกซัก 15 โพสท์
รอ k.Moshi ตอบอีกแหละคับ...ขอบคุณคับผม
..." กระทู้เมื่อเร็วๆ นี้ " แบบของ it4x ตามรูปนี้คับ

อยากเอาไปวางไว้หน้าแรกซัก 15 โพสท์
รอ k.Moshi ตอบอีกแหละคับ...ขอบคุณคับผม
Moshi
16,996 โพสต์
ตอนแรกนะครับ เข้าหน้า 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:
แต่ถ้าอยากให้มีคำว่า RE หรือหัวข้อที่ตอบล่าสุด ทั้งหมดเลย
ลองไปประยุกต์ใช้ดูนะครับ
>> เช่นบอร์ดผม [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:
<?php ssi_recentTopics(15); ?>แต่ถ้าอยากให้มีคำว่า RE หรือหัวข้อที่ตอบล่าสุด ทั้งหมดเลย
<?php ssi_recentPosts(15); ?>ลองไปประยุกต์ใช้ดูนะครับ
metal4x
12 โพสต์
ขอบคุณครับผม...จะลองดูคับ...(ตอบไวมากเลย... ยอดเยี่ยมคับ)