Tạo file RSS 2007-08-30 09:54:49


Đây là đoạn code demo cho việc tạo 1 RSS để chia sẻ thông tin (demo: http://rss.phpbasic.com)
Giả sử ta có 1 table news: id,title,intro,date
Ta sẽ tạo rss như sau:
<?php
header
("content-type: text/xml");
//connect databse
$sql = mysql_query("SELECT * FROM news LIMIT 20");
print
'<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>RSS news</title>
<description>PHP | MySQL | AJAX | Javascript | HTML | CSS</description>
<link>http://rss.phpbasic.com</link>
<copyright>www.phpbasic.com</copyright>
<generator>PHP | MySQL | AJAX | Javascript | HTML | CSS</generator>
<pubDate>2007-08-30</pubDate>
<lastBuildDate>2007-08-30</lastBuildDate>'
;
while(
$rs = mysql_fetch_assoc($sql)){
print
'
<item>
<title>'
.$rs['title'].'</title>
<description>'
.$rs['intro'].'</description>
<link>http://phpbasic.com/?php=article&amp;basic=view&amp;id='
.$rs['id'].'</link>
<pubDate>'
.$rs['date'].'</pubDate>
</item>
'
;
}
print
'
</channel>
</rss>
'
;
?>

Tra loi 17 comment(s) TG 2007-08-30 09:54:49

cocbay 2007-08-30 11:29:56

Đơn giản vậy mà nghĩ không ra, lo chui vào mấy cái lớp cho rắc rối.
Cách này làm thủ công, cảm ơn nhe.

Tra loi

hocnua 2007-10-15 02:57:30

TG ơi khi hiển thị dữ liệu nên trình duyệt thì bị lỗi font mặc dù đã làm y nguyên như của TG

Tra loi

Ga` 2008-01-02 12:48:18

Thế xin cho hỏi có thể dùng cho HTML được ko? và dùng như thế nào? Em mới tập làm web nên chỉ biết HTML thôi à.

Tra loi

TG 2008-01-03 05:36:15

RSS thì phải dùng dùng XML thôi, còn cách tạo thì cũng có thể áp dụng cho HTML luôn

Tra loi

Ga` 2008-01-03 10:02:31

À vâng, ví dụ em làm một file phim.html gồm danh sách link các bộ phim, em muốn mỗi khi thêm một link cho một bộ phim nào đó vào file này thì cái RSS này cũng tự động cập nhật thêm link mới này
Vậy mong bác TG chỉ rõ. Em xin chân thành cảm ơn!

Tra loi

TG 2008-01-04 01:06:37

Thì khi thêm 1 link, sẽ lưu vào databse sau đó chỉ việc truy xuất ra và tạo thành RSS như vậy sẽ lấy được những link mới  cập nhật thôi

Tra loi

Ga` 2008-01-04 02:27:18

Vậy anh TG làm ơn bớt chút time rồi làm một cái VD nho nhỏ để em tham khảo dc ko ạ? Em vẫn chưa hiểu rõ bản chất của vấn đề này lắm. Thanks!

Tra loi

TG 2008-01-05 12:50:55

Bạn để ý trên đoạn code trên, dữ liệu được lấy từ database thông qua câu này:
$sql = mysql_query("SELECT * FROM news LIMIT 20");
Như vậy, về phần dữ liệu bạn phải insert dữ liệu mới nhất vào database,còn trong đoạn code này sẽ lấy dữ liệu in ra, 1 trang web binh thường( cách code hằng này) là trả dữ liệu về dạng HTML hết đó

Tra loi

Ga` 2008-01-05 07:12:13

Okie rui`. Thanks bro TG nhieu` lam !

Tra loi

gaulucky92 2008-02-22 11:32:56

Lấy dữ liệu mới nhất thì dùng cái ORDER BY DESC:
SELECT * FROM news LIMIT 20 ORDER BY id DESC


À GT cho mình hỏi chút, giữa mysql_fetch_assoc() và mysql_fetch_array() có gì khác nhau ko? Cả 2 cái đều là xuất nội dung trong db ra... Lâu nay mình toàn xài fetch_array à :P

Tra loi

TG 2008-02-22 12:56:30

Tra loi

GnuhNguyen 2008-03-15 10:28:50

Code này hay quá, nhưng tớ nghĩ là nội dung in ra nên save vào thành file chứ k nên echo luôn trên browser ^^ thật đấy ^^

Tra loi

Quan Tran Anh 2008-03-15 10:44:00

Đây không phải là echo ra browser, đơn giản chỉ là trả về 1 luồng dữ liệu có kiểu là text/xml, còn bạn dùng browser để request đến thì nó sẽ mặc định hiển thị lên thôi, save về vẫn đựoc là dạng XML vậy.
Tuy nhiên, do đặc thù của RSS là có nhiều người cùng truy xuất 1 lúc nên code này tốt hơn là chỉ dùng để save nội dung ra 1 tập tin như rss.xml chẳng hạn, còn đâu nếu người ta muốn xài rss của mình thì sẽ vào theo đg` link: http://host.com/rss.xml. Nếu ko với các site lớn lớn 1 chút sẽ rất ko tối ưu

Tra loi

scvn 2008-08-21 07:40:13

nếu làm thế này google nó tìm đc mình ko mấy bác

Tra loi

scvn 2008-08-21 07:43:00

em có code xtre = ajax giờ ko biết tách ra làm sao :( chỉ còn nước là làm theo 1 hướng khác để google tìm thấy dữ liệu trong site . Bác nào biết thì chỉ em nhé hoặc có thể chỉ em cách tách ajax ra khỏi xtremedia cũng đc càng tốt :)

Tra loi

GnuhNguyen 2009-04-06 01:58:17

Tuy nhiên, do đặc thù của RSS là có nhiều người cùng truy xuất 1 lúc nên code này tốt hơn là chỉ dùng để save nội dung ra 1 tập tin như rss.xml chẳng hạn, còn đâu nếu người ta muốn xài rss của mình thì sẽ vào theo đg` link: http://host.com/rss.xml.

sặc thì ý tớ là thế này mà... ạch, nói không rõ thui, nhiều không vào rss kiểu echo này sẽ không hiện ra cái j cả, nên vì thế tớ mới nói là save thành file

Tra loi

GnuhNguyen 2009-04-06 02:06:41

Nếu không save ra file thì các máy đọc Rss trên web ví dụ Feeds của 360 đọc sẽ rất hay bị lỗi, tốt nhất là save ra file chứ không echo ra Browser!

Tra loi

Y kien