การสร้างข่าว RSS ด้วย php


หน้าแรก PHP MySQL เกร็ดความรู้ การสร้างข่าว RSS ด้วย php

บทความนี้เรามาดูวิธีการสร้างข่าวแบบ RSS กันดูครับ โดยขั้นตอนมีดังนี้

ขั้นตอนการทำ

1.เข้าไปใน phpmyadmin แล้วทำการสร้าง database ชื่อว่า test

2.จากนั้นทำการสร้าง table ชื่อว่า news โดยจะก๊อปโค๊ตข้า่งล่างในรันใน phpmyadmin ก็ได้ครับ

CREATE TABLE `news` (
`id_news` int(11) NOT NULL auto_increment,
`title` tinytext NOT NULL,
`description` tinytext NOT NULL,
`detail` text NOT NULL,
`pubdate` int(10) NOT NULL,
PRIMARY KEY (`id_news`)
) ENGINE=MyISAM AUTO_INCREMENT=4 ;

INSERT INTO `news` VALUES (1, 'หัวข้อข่าว 1', 'รายละเอียดอย่างย่อ 1', 'รายละเอียดทั้งหมด 1', 1201407967);
INSERT INTO `news` VALUES (2, 'หัวข้อข่าว 2', 'รายละเอียดอย่างย่อ 2', 'รายละเอียดทั้งหมด 2', 1201408057);
INSERT INTO `news` VALUES (3, 'หัวข้อข่าว 3', 'รายละเอียดอย่างย่อ 3', 'รายละเอียดทั้งหมด 3', 1201408086);


3.เมื่อเราสร้าง database เรียบร้อยแล้ว ให้สร้างไฟล์ test.php เพื่อจะทำการเขียนโค๊ต php ในการสร้างเอกสาร xml

<?
mysql_connect("localhost", "root", "12345") or die (mysql_error());
$dbname = "test"; //ชื่อ database 
$sql = "select * from news order by id_news desc"; //ชื่อ table 
$query = mysql_db_query($dbname, $sql);

$data = '<?xml version="1.0" encoding="TIS-620"?>'."n";
$data .= '<rss version="2.0">'."n";
$data .= '<channel>'."n";

$data .= '<title>ทดสอบเอกสาร rss</title>'."n";
$data .= '<description>Rss XML</description>'."n";
$data .= '<link>http://www.webthaidd.com</link>'."n";
$data .= '<pubDate>'.date("D, d M Y H:i:s O").'</pubDate>'."n";

while($result = mysql_fetch_array($query)) {

$data .= '<item>'."n"; 
$data .= '<title>'.$result[title].'</title>'."n"; //หัวเรื่อง 
$data .= '<description>'.$result[description].'</description>'."n"; //คำอธิบาย 
$data .= '<link>http://localhost/view.php?id_news='.$result[id_news].'</link>'."n"; //ลิงค์รายละเอียด 
$data .= '<pubDate>'.date('D, d M Y H:i:s O', $result[pubdate]).'</pubDate>'."n"; //เวลา 
$data .= '</item>'."n"; 

}

$data .= '</channel>'."n";
$data .= '</rss>'."n";

$f = fopen( 'rss.xml' , 'w' ); //ส่วนของการสร้างไฟล์ XML 
fputs( $f , $data );
fclose( $f );
?>

4.สร้างไฟล์ view.php เพื่อใช้สำหรับแสดงรายละเอียดของข่าว โดนเขียนโค๊ตแสดงข้อมูลจาก id ที่ได้รับมา

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
</head>

<body>
<?
mysql_connect("localhost", "root", "12345") or die (mysql_error());
$dbname = "test"; //ชื่อ table 
$sql = "select * from news where id_news = '$_GET[id_news]' "; // select ข้อมูลใน table โดนค้นหาจาก id ที่ได้รับ 
$query = mysql_db_query($dbname, $sql);
$result = mysql_fetch_array($query);
echo $result[detail]; //แสดงผลรายละเอียดของข่าว 
?>
</body>
</html>

5.เมื่อลองรันไฟล์ rss.xml ผ่านบราวเซอร์ก็จะได้ตัวอย่างดังรูปอ่ะ เราก็แค่เอาลิงค์ไปใช้งานกับโปรแกรมที่สามารถอ่าน rss หรือ บราวเซอร์ เวอชั่น 2.0 (firefox)



ขึ้นไปด้านบน