Jadi, sebuah situs web mengizinkan situs lain untuk mempublikasikan beberapa isinya dengan sebuah dokumen RSS. Pengguna dapat membaca konten RSS yang terdistribusi dan dapat menggunakan konten pada situs yang berbeda. Konten tersebut dapat mencakup seperti feed berita, daftar acara, berita, headline, update proyek, kutipan dari forum diskusi atau bahkan informasi perusahaan.
Disini saya akan mencoba membuat feed/rss toko buku, berikut ini rancangan dan source code nya:
Disini saya akan mencoba membuat feed/rss toko buku, berikut ini rancangan dan source code nya:
1. Relasi Tabel
Dari rancangan sistem feed rss daftar buku dapat digambarkan skema databasenya sebagai berikut:
2. Struktur Tabel
Berikut ini struktur tabel dari rancangan sistem feed rss daftar buku:
a. Tabel Buku
b. Tabel detailtransaksi
c. Tabel kategori
d. Tabel transaksi
Script (Source Code)
Berikut adalah kode program untuk sistem rancangan feed rss daftar buku:
1. Kode Program Generate Tabel
CREATE TABLE IF NOT EXISTS `buku` (
`idbuku` varchar(4) NOT NULL,
`judul` varchar(30) NOT NULL,
`harga` int(10) NOT NULL,
`idkategori` varchar(4) NOT NULL,
PRIMARY KEY (`idbuku`),
KEY `idkategori` (`idkategori`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `buku` (`idbuku`, `judul`, `harga`, `idkategori`) VALUES
('B001', 'Dongen si unyil', 30000, 'K001'),
('B002', 'Agama Islam', 50000, 'K003');
CREATE TABLE IF NOT EXISTS `detailtransaksi` (
`iddetail` int(11) NOT NULL AUTO_INCREMENT,
`idtransaksi` varchar(6) NOT NULL,
`idbuku` varchar(4) NOT NULL,
`jumlah` int(3) NOT NULL,
PRIMARY KEY (`iddetail`),
KEY `idtransaksi` (`idtransaksi`),
KEY `idbuku` (`idbuku`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
INSERT INTO `detailtransaksi` (`iddetail`, `idtransaksi`, `idbuku`, `jumlah`) VALUES
(1, 'T00001', 'B001', 2),
(2, 'T00001', 'B002', 3),
(3, 'T00002', 'B001', 1),
(4, 'T00002', 'B002', 1);
CREATE TABLE IF NOT EXISTS `kategori` (
`idkategori` varchar(4) NOT NULL,
`namakategori` varchar(30) NOT NULL,
PRIMARY KEY (`idkategori`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `kategori` (`idkategori`, `namakategori`) VALUES
('K001', 'Cerita'),
('K003', 'Agama'),
('K004', 'olahraga'),
('K005', 'Komputer'),
('K006', 'Politik'); CREATE TABLE IF NOT EXISTS `transaksi` (
`idtransaksi` varchar(6) NOT NULL,
`pembeli` varchar(30) NOT NULL,
`tanggal` date NOT NULL,
PRIMARY KEY (`idtransaksi`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `transaksi` (`idtransaksi`, `pembeli`, `tanggal`) VALUES
('T00001', 'rusdi', '2012-05-01'),
('T00002', 'ocim', '2012-05-01'); ALTER TABLE `buku`
ADD CONSTRAINT `buku_ibfk_1` FOREIGN KEY (`idkategori`) REFERENCES `kategori` (`idkategori`) ON DELETE NO ACTION ON UPDATE CASCADE; ALTER TABLE `detailtransaksi`
ADD CONSTRAINT `detailtransaksi_ibfk_2` FOREIGN KEY (`idbuku`) REFERENCES `buku` (`idbuku`) ON DELETE NO ACTION ON UPDATE CASCADE,
ADD CONSTRAINT `detailtransaksi_ibfk_1` FOREIGN KEY (`idtransaksi`) REFERENCES `transaksi` (`idtransaksi`) ON DELETE NO ACTION ON UPDATE CASCADE;
<?php include "koneksi.php";
$sql = mysql_query("SELECT buku.*, kategori.* FROM buku inner join kategori WHERE (buku.idkategori=kategori.idkategori)");
$file = fopen("rss.xml", "w");
fwrite($file, '<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>Membuat RSS Dengan Database dan xml</title>
<link>http://student.d3ti.mipa.uns.ac.id/ocim</link>
<description>DAFTAR BUKU TI-B 2010</description>
<language>en-us</language>');
while($r=mysql_fetch_array($sql)){
//$isi_berita = htmlentities(strip_tags(nl2br($r[idkategori]))); // membuat paragraf pada isi berita dan mengabaikan tag html
//$isi = substr($isi_berita,0,220); // ambil sebanyak 220 karakter
//$isi = substr($isi_berita,0,strrpos($isi," ")); // potong per spasi kalimat
fwrite($file, "<item>
<title>$r[idbuku] | $r[judul]</title>
<description>Harga = $r[harga], Kategori = $r[namakategori]</description>
</item>");
}
fwrite($file, "</channel></rss>");
fclose($file);
$file="rss.xml";
$baca=fopen($file, 'r');
$lihat=fread($baca, filesize($file));
fclose($baca);
echo $lihat;
?>
3. Kode Program Form Inputan Buku
<?php include('menu.php'); include('koneksi.php');
$hasil=mysql_query("SELECT kategori.*
FROM kategori");
?>
<h1>INPUT BUKU</h1>
<form method="POST" action="terimabuku.php">
<pre>
ID Buku <input type="text" name="idbuku">
Judul Buku <input type="text" name="judul">
Harga <input type="text" name="harga">
Kategori <select name="idkategori">
<?php while($cetak=mysql_fetch_array($hasil)){
echo "<option value=".$cetak['idkategori'].">".$cetak['namakategori']."</option>";}
?>
</select>
</pre>
<input type="submit" value="Input">
</form>
4. Kode Program Pengolahan Form Inputan Buku
<?php $idbuku=$_POST['idbuku'];
$judul=$_POST['judul'];
$harga=$_POST['harga'];
$idkategori=$_POST['idkategori'];
include ('koneksi.php');
$hasil = mysql_query("INSERT INTO buku (idbuku, judul, harga, idkategori) VALUES ('$idbuku', '$judul', '$harga', '$idkategori');");
if ($hasil==1){echo "Data berhasil di input";}
else {echo "Data gagal di input";}
echo "<br><a href='cetakbuku.php'>Lihat Hasil</a>";
?>
D. Lampiran File XML
Berikut adalah tampilan hasil cetakan (generate) dari program yang telah dibuat:
Berikut Kode Program XML
<?php include "koneksi.php";
$sql = mysql_query("SELECT buku.*, kategori.*
FROM buku inner join kategori
WHERE (buku.idkategori=kategori.idkategori)");
$file = fopen("rss.xml", "w");
fwrite($file, '<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>Membuat RSS Dengan Database dan xml</title>
<link>http://student.d3ti.mipa.uns.ac.id/ocim</link>
<description>DAFTAR BUKU TI-B 2010</description>
<language>en-us</language>');
while($r=mysql_fetch_array($sql)){
fwrite($file, "<item>
<title>$r[idbuku] | $r[judul]</title>
<description>Harga = $r[harga], Kategori = $r[namakategori]</description>
</item>");
}
fwrite($file, "</channel></rss>");
fclose($file);
$file="rss.xml";
$baca=fopen($file, 'r');
$lihat=fread($baca, filesize($file));
fclose($baca);
echo $lihat;
?>
*** Selamat mencoba ***
0 komentar:
Post a Comment