Membangun Umpan RSS Dinamis Dengan PHP dan MySQL

CATATAN: Di mana pun Anda melihatnya [url] masukkan url situs web Anda sebagai pengganti [url].

Di mana-mana saya melihat saya dapat menemukan tutorial tetapi jarang mereka menyelesaikannya. Tutorial yang akan saya tulis dimaksudkan untuk menjadi tutorial yang lengkap. Tentu Anda dapat menambahkan lebih banyak opsi ke file RSS itu sendiri tetapi yang saya maksudkan dengan lengkap adalah itu akan bekerja untuk siapa saja jika kepala sekolah yang diuraikan di sini diikuti. Tanpa penundaan lebih lanjut, mari melompat ke kanan untuk membangun umpan RSS dinamis menggunakan PHP dan MySQL

Untuk memulai RSS feed berbasis PHP, kita perlu melakukan satu hal kecil terlebih dahulu. Lihatlah file ".htaccess" Anda yang umumnya terletak di direktori root server web. Ini adalah file yang digunakan untuk melakukan penulisan ulang URL, pengalihan 301, dll. Setiap server Apache harus memilikinya, sehingga mencarinya. Jika Anda menggunakan dreamweaver, mudah untuk mendapatkan file adalah dengan membuatnya di pengelola situs, yaitu klik kanan dan buat file baru. Ubah nama file ".htaccess" dan kemudian klik kanan pada file yang baru Anda buat dan klik "Dapatkan". Sekali lagi ini hanya untuk pengguna Dreamweaver. Saya membuat ini lebih rumit dari seharusnya. Carilah .htaccess di root server web Anda. Cukup berkata

Setelah kami menemukan file .htaccess kami, kami perlu membuat perubahan. Karena file RSS kami akan menjadi ekstensi PHP yaitu rss.php dan bukan dari jenis xml. Kita perlu.htaccess untuk mengetahui bahwa file dengan type.xml shoule diartikan sebagai file .php. Untuk melakukan ini, kita masukkan yang berikut di file .htaccess kami:

Aplikasi AddType / x-httpd-php.xml

Dengan file .htaccess kami siap digunakan, sekarang kami harus mulai menulis PHP untuk umpan RSS kami. File kami akan dibagi menjadi empat bagian. Yang pertama adalah header yang memberi tahu browser bahwa file tersebut bertipe XML. Bagian kedua adalah kepala file RSS kami. Semua yang dapat Anda buat statis tentang saluran, yaitu info dasar yang terkait dengan umpan RSS. Bagian ketiga kami adalah tempat yang bagus. Kami membuat koneksi database dan menggunakannya untuk membuat umpan RSS kami. Kami kemudian perlu mengulang melalui setiap item yang kami inginkan dalam basis data kami dan menampilkannya sebagai xml. Akhirnya bagian keempat kami adalah semua output yang diperlukan untuk menutup saluran. Ada sedikit hal selain beberapa perintah echo tetapi ini adalah bagian yang terpisah dengan caranya sendiri yang kecil.

Pertama kita perlu membuat file php baru, saya memilih untuk menamai rss.php saya, Anda dapat memberi nama Anda apa pun yang Anda suka. Setelah kami membuka file kami, mulailah dengan bagian pertama kami:

<? php

// Tetapkan header XML untuk browser

header ('Content-type: text / xml');

?>

Sebelum kita melakukan apa pun kami ingin mengirim pesan ke browser yang menginformasikan bahwa itu berurusan dengan file XML. Jika kami tidak memberikan informasi ini ke browser, umpan RSS dinamis kami tidak akan berfungsi. Sesederhana kedengarannya itu untuk bagian pertama dari file RSS kami.

Di bagian selanjutnya, kita perlu mulai membuat struktur file XML kita. Ada beberapa cara untuk melakukan ini. Salah satunya adalah dengan perintah echo. Yang lainnya adalah melalui penggunaan variabel. Saya telah menggunakan keduanya dan secara pribadi lebih memilih metode variabel karena tampaknya lebih sederhana di pikiran saya. Oleh karena itu, itulah metode yang akan saya tunjukkan. Ini kode kami (termasuk kode dari bagian pertama kami):

// Tetapkan header XML untuk browser

header ('Content-type: text / xml');

// Buat info heading / channel untuk RSS Feed

$ output = '';

$ output. = '';

$ output. = '';

$ output. = 'Deskripsi Umpan RSS Anda';

$ output. = ' [url]';

?>

Inilah yang kami lakukan dengan bagian kedua. Pertama kami membuat variabel $ output. Kami mengaturnya sama dengan. Namun begitu kami memiliki nilai yang ditetapkan, kami tidak menimpanya. Kami malah menggunakan operator ". =" Yang berarti hanya menambah nilai saat ini. Jadi misalnya jika kita mengatakan bahwa $ some-variable = "string". Kami kemudian menggunakan operator ". =" Untuk menambah nilai seperti $ beberapa-var. = "Seperti beberapa var". Selanjutnya jika kita echo variabel kita $ beberapa-variabel itu akan membaca "string seperti var". Kami mengambil variabel kami dan menambahkan semua tag xml ke dalamnya untuk membuat satu dokumen xml bersebelahan yang disimpan dalam satu variabel, $ output. Satu hal lain yang perlu diperhatikan adalah untuk judul, deskripsi, dan tag tautan yang harus Anda tambahkan di informasi situs Anda. Meskipun saya tidak berpikir siapa pun akan dengan sengaja menggunakan informasi yang saya miliki di antara tag, mudah untuk melupakan hal-hal kecil seperti itu, itulah mengapa saya menyebutkannya.

Untuk bagian ketiga kami, kami turun ke daging dan tulang dari halaman RSS yang dihasilkan php kami. Apa yang akan kita lakukan adalah terhubung ke database MySQL dan ambil semua informasi terkait yang kita butuhkan. Kemudian kita akan membuat item xml individual untuk setiap entri atau artikel baru yang kita miliki. Ini semua dilakukan ketika pengguna mengakses halaman RSS. Tidak sebelum. Halaman itu dinamis bukan statis. Untuk maksud dan tujuan kami tidak memiliki halaman RSS sampai seseorang mengaksesnya. Sekarang mari kita ke kode:

// Tetapkan header XML untuk browser

header ('Content-type: text / xml');

// Buat info heading / channel untuk RSS Feed

$ output = '';

$ output. = '';

$ output. = '';

$ output. = 'Deskripsi Umpan RSS Anda';

$ output. = ' [url]';

// Item Individual dari Umpan RSS kami

// Hubungkan ke database dan dan tampilkan setiap item baru di feed kami

// Hubungkan ke DB

$ host = "localhost"; // Nama host

$ user = "cmsuser"; // Nama pengguna untuk Basis Data

$ pass = "mypass"; // Kata Sandi untuk Basis Data

$ db = "my_database"; // Nama Basis Data

mysql_connect ($ host, $ user, $ pass);

mysql_select_db ($ db);

// Buat SQL Query untuk umpan RSS kami

$ sql = "SELECT` title`, `link`,` description`, `date` DARI` articles`ORDER BY `date` DESC LIMIT 0, 15";

$ result = mysql_query ($ sql) atau die ("Query tidak dapat dieksekusi");

// Buat Loop untuk masing-masing elemen di bagian item RSS

while ($ row = mysql_fetch_array ($ result))

{

$ output. = '';

$ output. = '';

$ output. = ''. $ baris[‘link’]. '';

$ output. = ''. $ baris[‘description’]. '';

$ output. = '

'. $ baris[‘date’]. '';

$ output. = '';

}

?>

Sekarang banyak hal telah terjadi di bagian ini jadi biarkan saya mencoba dan menjelaskan semuanya dengan jelas. Pertama mari kita mulai dengan komentar "Connect to DB". Di sini kita perlu terhubung ke database. Biasanya saya menulis fungsi sebelumnya dan cukup memanggilnya ketika saya ingin terhubung ke database dan menjalankan query. Namun saya tidak dapat berasumsi bahwa Anda telah menulis satu sehingga kami akan menulis satu sama lain. Pertama kita mendefinisikan variabel yang akan menampung informasi yang diperlukan untuk fungsi "mysql_connect" dan "mysql_select_db". Informasi yang perlu kita simpan adalah nama host kami, umumnya "localhost", nama pengguna kami untuk database, kata sandi kami, dan nama database. Setelah kita menyimpannya, kita menggunakannya dalam fungsi "mysql_connect" yang digunakan untuk membuat koneksi ke database mysql, setelah kita membuat koneksi kita kemudian perlu memilih database dengan pernyataan "mysql_select_db". Sekarang setelah kita terhubung ke database kami, mari kita periksa bagaimana kita mendapatkan informasi yang kita butuhkan.

Sekarang kita terhubung, kita harus menjalankan query untuk mendapatkan informasi yang kita butuhkan. Sebagai contoh, saya telah membuat beberapa anggapan bahwa yang pertama adalah nama dari database adalah artikel dan itu berisi empat kolom: `title`,` link`, `description`,` date` dan bahwa mereka dinamai demikian . Saya juga membatasi hasilnya menjadi 16, dengan menggunakan pernyataan "… LIMIT 0,15" yang berarti hanya menunjukkan baris 0 hingga 15. Anda dapat mengaturnya ke apa pun yang Anda inginkan atau Anda dapat menghapusnya sepenuhnya dan tidak memiliki batasan pada jumlah entri di umpan RSS Anda. Oke untuk situs kecil, mengerikan untuk yang besar. Gunakan kebijaksanaan Anda di sini. Sekarang setelah kami membuat permintaan, saya ingin menunjukkan satu hal. Biasanya Anda melihat orang menggunakan pernyataan "SELECT * …" ketika mereka menjalankan kueri. Saya tidak hanya berpikir praktik yang buruk tetapi mengapa mendapatkan lebih banyak informasi yang Anda butuhkan, dibutuhkan waktu lebih lama dan membuat situs Anda berjalan sedikit lebih lambat. Oleh karena itu saya merekomendasikan bahwa ketika Anda membentuk sql queri Anda secara implisit menyatakan bidang mana yang Anda inginkan daripada menggunakan pernyataan "SELECT * …". Sekarang kita memiliki permintaan kita, kita perlu menjalankannya dengan menggunakan perintah "mysql_query" dan meneruskan hasilnya ke dalam variabel, yang secara cerdik dikenal sebagai hasil $. Jika Anda memperhatikan bahwa setelah pernyataan "mysql_query ($ sql)" saya "atau mati (…)". Apa yang dilakukan oleh pernyataan itu adalah jika ada kesalahan, ia membunuh kueri dan mengakhiri fungsi, lalu menggemakan pesan kesalahan apa pun yang Anda masukkan ke dalam tanda kurung. Berguna untuk mencari tahu di mana hal-hal yang mungkin salah.

Sejauh ini kami telah terhubung ke database dan menjalankan kueri keluaran hasil ke variabel, hasil $. Sekarang kita perlu menempatkan ini semua ke dalam item RSS kecil yang rapi. Untuk melakukan ini kita perlu membuat loop, Apa yang akan dilakukan oleh loop kita adalah melalui baris query kita berdasarkan baris dan menarik informasi dari setiap baris dan melakukan apa pun yang kita inginkan dengannya. Dalam hal ini kami ingin menyimpannya. Untuk melakukannya kami membuat loop sementara yang pada dasarnya membaca sementara ada baris yang masih tersisa di variabel hasil kami. Kita perlu melakukan kode apa pun di antara tanda kurung {…}. Ada cara lain untuk membentuk loop ini tetapi untuk sekarang metode yang paling langsung adalah yang saya cantumkan. Sekarang kita memiliki baris dalam variabel $ row, kita perlu menambahkannya ke file xml kita. Untuk melakukan itu kita menggunakan teman baik kita ". =" Dan pada dasarnya menambahkan informasi untuk setiap item yang ingin kita buat. Ada banyak lagi tag yang dapat Anda gunakan dengan umpan RSS Anda. Saya hanya memilih untuk menggunakan "judul", "tautan", "deskripsi", "pubDate" karena hanya itu yang saya rasakan seperti yang saya perlukan dan ini bukan artikel tentang struktur RSS tetapi bagaimana menghasilkannya secara dinamis.

Kami telah menyelesaikan tiga dari empat langkah kami. Karena kami memiliki semua barang yang kami buat, kami melakukannya sebelumnya dengan loop sementara yang akan menggilir setiap hasil dalam database dan menambahkannya ke variabel kami dengan tag yang sesuai, kami harus menyelesaikan file kami dan menampilkannya kepada pengguna . Untuk melakukan ini kita menggunakan kode berikut:

// Tetapkan header XML untuk browser

header ('Content-type: text / xml');

// Buat info heading / channel untuk RSS Feed

$ output = '';

$ output. = '';

$ output. = '';

$ output. = 'Deskripsi Umpan RSS Anda';

$ output. = ' [url]';

// Item Individual dari Umpan RSS kami

// Hubungkan ke database dan dan tampilkan setiap item baru di feed kami

// Hubungkan ke DB

$ host = "localhost"; // Nama host

$ user = "cmsuser"; // Nama pengguna untuk Basis Data

$ pass = "mypass"; // Kata Sandi untuk Basis Data

$ db = "my_database"; // Nama Basis Data

mysql_connect ($ host, $ user, $ pass);

mysql_select_db ($ db);

// Buat SQL Query untuk umpan RSS kami

$ sql = "SELECT` title`, `link`,` description`, `date` DARI` articles`ORDER BY `date` DESC LIMIT 0, 15";

$ result = mysql_query ($ sql) atau die ("Query tidak dapat dieksekusi");

// Buat Loop untuk masing-masing elemen di bagian item RSS

while ($ row = mysql_fetch_array ($ result))

{

$ output. = '';

$ output. = '';

$ output. = ''. $ baris[‘link’]. '';

$ output. = ''. $ baris[‘description’]. '';

$ output. = '

'. $ baris[‘date’]. '';

$ output. = '';

}

// Tutup saluran RSS

$ output. = '';

$ output. = '';

// Tampilkan output di browser

echo $ output;

?>

Berikut adalah kode lengkap kami dalam semua kemuliaan, semua yang telah kami tambahkan adalah dua pernyataan lagi yang menambahkan variabel kami dengan tag "" dan "" yang menutup saluran dan tag RSS kami masing-masing, yang kami buka sebelumnya. Setelah itu kita perlu menampilkan informasi agar browser web bisa melihatnya. Untuk melakukan ini kita cukup menggunakan perintah echo dan echo variabel $ output kami yang kami gunakan untuk menyimpan semua informasi sebelumnya. Anda seharusnya dapat melihat apa yang saya maksud sebelumnya di artikel ketika saya menyarankan bahwa seseorang dapat menggunakan gema alih-alih menambahkan informasi ke variabel, tapi itu selain intinya. Yang penting sekarang adalah Anda mendapat umpan RSS yang berfungsi penuh yang tidak perlu Anda mainkan lagi kecuali untuk menambah informasi. Semoga Anda menikmatinya dan dapat memanfaatkannya dengan baik!