Tutorial Cara Membuat Aplikasi Berita dengan PHP dan MySQL
Kali ini saya akan berbagi cara membuat aplikasi berita yang sederhana menggunkan PHP dan database MySQL. Halaman depan aplikasi bisa dilihat seperti di bawah ini :
Untuk membuat aplikasi berita secara sederhana, langkah pertama yang kita lakukan adalah merancang tabel-tabel database yang diperlukan. Secara sederhana, struktur tabel dapat dibuat dengan spesifikasi sebagai berik berikut :
Untuk membuat aplikasi berita secara sederhana, langkah pertama yang kita lakukan adalah merancang tabel-tabel database yang diperlukan. Secara sederhana, struktur tabel dapat dibuat dengan spesifikasi sebagai berik berikut :
1. Berikut ini perintah (SQL) untuk membuat tabel "berita" :
- CREATE TABLE berita(
- id_berita int(5) unsigned NOT NULL auto_increment,
- id_kategori int(3) unsigned NOT NULL default '0',
- judul varchar(100) NOT NULL default '',
- headline text NOT NULL,
- isi text NOT NULL,
- pengirim varchar(15) NOT NULL default '',
- tanggal datetime NOT NULL default '0000-00-00 00:00:00',
- PRIMARY KEY (id_berita)
- ) TYPE=MyISAM;
2. Berikut ini perintah (SQL) untuk membuat tabel "kategori" :
- CREATE TABLE kategori(
- id_kategori int(3) unsigned NOT NULL auto_increment,
- nm_kategori varchar(30) NOT NULL default '',
- deskripsi varchar(200) NOT NULL default '',
- PRIMARY KEY (id_kategori)
- )TYPE = MyISAM;
Catatan : Isikan sejumlah data ke tabel kategori langsung di database, agar data kategori bisa muncul di form input.
3. Membuat File Koneksi Database
Nama File : koneksi.php
Deskripsi : Program koneksi ke database.
Deskripsi : Program koneksi ke database.
- <?php
- $host = "localhost";
- $user = "root";
- $pass = "";
- $dbnm = "pw2";
- $conn = mysql_connect($host, $user, $pass);
- if($conn){
- $connect = mysql_select_db($dbnm);
- if(!$connect){
- die("Database tidak dapat dibuka");
- }
- }else{
- die("Server MySql tidak terhubung");
- }
- ?>
4. Membuat File Menampilkan Headline Berita
Nama File : index.php
Deskripsi : Program menampilkan 5 berita terbaru di halaman depan.
- <?
- include "koneksi.php";
- ?>
- <html>
- <head><title>Index Berita</title>
- <link rel="stylesheet" href="style.css" />
- </head>
- <body>
- <a href="index.php">Halaman Depan</a>  |
- <a href="arsip_berita.php">Arsip Berita</a> |
- <a href="input_berita.php">Input Berita</a>
- <h2>Halaman Depan ~ Lima Bertita Terbaru</h2>
- <?
- $query = "SELECT A.id_berita, B.nm_kategori, A.judul, A.isi, A.pengirim, A.tanggal FROM berita A, kategori B WHERE A.id_kategori=B.id_kategori ORDER BY A.id_berita DESC LIMIT 0,5";
- $sql = mysql_query($query);
- while ($hasil=mysql_fetch_array($sql)){
- $id_berita = $hasil['id_berita'];
- $kategori = stripslashes($hasil['nm_kategori']);
- $judul = stripslashes($hasil['judul']);
- $isi = nl2br(stripslashes($hasil['isi']));
- $pengirim = stripslashes($hasil['pengirim']);
- $tanggal = stripslashes($hasil['tanggal']);
- //tampilkan berita
- echo "<font size=4>
- <a href='berita_lengkap.php?id=$id_berita'>$judul</a></font></br>";
- echo "<small>Berita dikirimkan oleh <b>$pengirim</b>
- pada tanggal <b>$tanggal</b> dalam kategori <b>
- $kategori</b></small>";
- echo "<p>$headline</p>";
- echo "<hr>";
- }
- ?>
- </body>
- </html>
5. Membuat Halaman Input Berita
Nama File : input_berita.php
Deskripsi : Program input berita.
- <?php
- include "koneksi.php";
- //proses input berita
- if(isset($_POST['input'])){
- $judul = addslashes(strip_tags($_POST['judul']));
- $kategori = $_POST['kategori'];
- $headline = addslashes(strip_tags($_POST['headline']));
- $isi_berita = addslashes(strip_tags($_POST['isi']));
- $pengirim = addslashes(strip_tags($_POST['pengirim']));
- //insert ke tabel
- $query = "INSERT INTO berita VALUES('','$kategori','$judul','$headline','$isi_berita','$pengirim',now())";
- $sql = mysql_query($query);
- if($sql){
- echo "<h2><span style='color: blue;'>Berita telah berhasil ditambahkan</span></h2>";
- }else{
- echo "<h2><span style='color: red;'>Berita gagal ditambahkan</span></h2>";
- }
- }
- ?>
- <html>
- <head><title>Input Berita</title>
- <link href="style.css" rel="stylesheet"></link>
- </head>
- <body>
- <a href="index.php">Halaman Depan</a>
- <a href="arsip_berita.php">Arsip Berita</a>
- <a href="input_berita.php">Input Berita</a>
- <form action="" method="post" name="input">
- <table border="0" cellpadding="0" style="width: 700px;">
- <tr>
- <td colspan="2"><h2>Input Berita</h2>
- </td>
- </tr>
- <tr>
- <td width="200">Judul Berita</td>
- <td>: <input name="judul" size="30" type="text" /></td>
- </tr>
- <tr>
- <td>Kategori</td>
- <td>:
- <select name="kategori">
- <?
- $query = "SELECT id_kategori, nm_kategori FROM kategori ORDER BY nm_kategori";
- $sql = mysql_query($query);
- while($hasil = mysql_fetch_array($sql)){
- echo "<option value='".$hasil[id_kategori]."'>$hasil[nm_kategori]</option>";
- }
- ?>
- </select>
- </td>
- </tr>
- <tr>
- <td>Headline Berita</td>
- <td>: <textarea cols="50" name="headline" rows="4"></textarea></td>
- </tr>
- <tr>
- <td>Isi Berita</td>
- <td>: <textarea cols="50" name="isi" rows="10"></textarea></td>
- </tr>
- <tr>
- <td>Pengirim</td>
- <td>: <input name="pengirim" size="30" type="text" /></td>
- </tr>
- <tr>
- <td> </td>
- <td>
- <input name="input" type="submit" value="Input Berita" />
- <input name="reset" type="reset" value="Cancel" /></td>
- </tr>
- </table>
- </form>
- </body>
- </html>
6. Menampilkan berita lengkap
Nama File : berita_lengkap.php
Deskripsi : Program menampilkan berita lengkap.
Deskripsi : Program menampilkan berita lengkap.
- <?php
- include "koneksi.php";
- if(isset($_GET['id'])){
- $id_berita = $_GET['id'];
- }else{
- die("Error. No Id Selected!");
- }
- ?>
- <html>
- <head><title>Berita Lengkap</title>
- <link href="style.css" rel="stylesheet"></link>
- </head>
- <body>
- <a href="index.php">Halaman Depan</a>
- <a href="arsip_berita.php">Arsip Berita</a>
- <a href="input_berita.php">Input Berita</a>
- <h2>Berita Lengkap</h2>
- <?
- $query = "SELECT A.id_berita, B.nm_kategori, A.judul, A.isi, A.pengirim, A.tanggal FROM berita A, kategori B WHERE A.id_kategori=B.id_kategori AND A.id_berita='$id_berita'";
- $sql = mysql_query($query);
- $hasil = mysql_fetch_array($sql);
- $id_berita = $hasil['id_berita'];
- $kategori = stripslashes($hasil['nm_kategori']);
- $judul = stripslashes($hasil['judul']);
- $isi = nl2br(stripslashes($hasil['isi']));
- $pengirim = stripslashes($hasil['pengirim']);
- $tanggal = stripslashes($hasil['tanggal']);
- //tampilkan berita
- echo "<font size=5 color=blue>$judul</font>
- ";
- echo "<small>Berita dikirimkan oleh <b>$pengirim</b>
- pada tanggal <b>$tanggal</b> dalam kategori <b>
- $kategori</b></small>";
- echo "<p>$isi</p>";
- ?>
- </body>
- </html>
7. Membuat Halaman Arsip Berita
Nama File : arsip_berita.php
Deskripsi : Program arsip keseluruhan berita.
- <?php
- include "koneksi.php";
- ?>
- <html>
- <title>Arsip Berita</title>
- <link href="style.css" rel="stylesheet">
- <script language="javascript">
- function tanya(){
- if(confirm("Apakah anda yakin akan menghapus berita ini?")){
- return true;
- }else{
- return false;
- }
- }
- </script>
- <a href="index.php">Halaman Depan</a>
- <a href="arsip_berita.php">Arsip Berita</a>
- <a href="input_berita.php">Input Berita</a>
- <h2>Arsip Berita</h2>
- <ol>
- <?
- $query = "SELECT A.id_berita, B.nm_kategori, A.judul, A.pengirim, A.tanggal FROM berita A, kategori B WHERE A.id_kategori=B.id_kategori ORDER BY A.id_berita DESC";
- $sql = mysql_query($query);
- while($hasil = mysql_fetch_array($sql)){
- $id_berita = $hasil['id_berita'];
- $kategori = stripslashes($hasil['nm_kategori']);
- $judul = stripslashes($hasil['judul']);
- $pengirim = stripslashes($hasil['pengirim']);
- $tanggal = stripslashes($hasil['tanggal']);
- //tamppilkan arsip berita
- echo "<li><a href='berita_lengkap.php?id=$id_berita'>$judul</a>";
- echo "<small>Berita dikirimkkan oleh <b>$pengirim</b> pada tanggal <b>$tanggal</b> dalam kategori <b>$kategori</b> </small>";
- echo "<b>Action : </b><a href='edit_berita.php?id=$id_berita'>Edit</a> | ";
- echo "<b>Action : </b><a href='delete_berita.php?id=$id_berita' onclick='return tanya()'>Delete</a>";
- echo "<small></small></li>";
- }
- ?>
- </ol>
- </html>
8. Membuat Halaman Edit Berita
Nama File : edit_berita.php
Deskripsi : Program untuk mengedit berita.
- <?php
- include "koneksi.php";
- if(isset($_GET['id'])){
- $id_berita = $_GET['id'];
- }else{
- die("Error. No Id Selected!");
- }
- $query = "SELECT id_berita, id_kategori,judul, headline, isi,
- pengirim, tanggal FROM berita WHERE id_berita='$id_berita'";
- $sql = mysql_query($query);
- $hasil = mysql_fetch_array($sql);
- $id_berita = $hasil['id_berita'];
- $id_kategori = stripslashes($hasil['id_kategori']);
- $judul = stripslashes($hasil['judul']);
- $headline = stripslashes($hasil['headline']);
- $isi = stripslashes($hasil['isi']);
- $pengirim = stripslashes($hasil['pengirim']);
- $tanggal = stripslashes($hasil['tanggal']);
- //proses edit berita
- if(isset($_POST['edit'])){
- $id_berita = $_POST['hidberita'];
- $judul = addslashes(strip_tags($_POST['judul']));
- $kategori = $_POST['kategori'];
- $headline = addslashes(strip_tags($_POST['headline']));
- $isi_berita = addslashes(strip_tags($_POST['isi']));
- $pengirim = addslashes(strip_tags($_POST['pengirim']));
- //update berita
- $query = "UPDATE berita SET id_kategori='$kategori', judul='$judul', headline='$headline',
- isi='$isi_berita', pengirim='$pengirim' WHERE id_berita='$id_berita' ";
- $sql = mysql_query($query);
- if($sql){
- echo "<h2><span style='color: blue;'>Berita telah berhasil diedit</span></h2>";
- }else{
- echo "<h2><span style='color: red;'>Berita gagal diedit</span></h2>";
- }
- }
- ?>
- <html>
- <head><title>Edit Berita</title>
- <link href="style.css" rel="stylesheet">
- </head>
- <body>
- <a href="index.php">Halaman Depan</a>
- <a href="arsip_berita.php">Arsip Berita</a>
- <a href="input_berita.php">Input Berita</a>
- <form action="" method="post" name="input">
- <table style="width: 700px;" border="0" cellpadding="0">
- <tr>
- <td colspan="2"><h2>Edit Berita</h2></td>
- </tr>
- <tr>
- <td width="200">Judul Berita</td>
- <td>: <input name="judul" size="30" value="<?=$judul?>" type="text"></td>
- </tr>
- <tr>
- <td>Kategori</td>
- <td>:
- <select name="kategori">
- <?
- $query = "SELECT id_kategori, nm_kategori FROM kategori ORDER BY nm_kategori";
- $sql = mysql_query($query);
- while($hasil = mysql_fetch_array($sql)){
- $selected = ($hasil['id_kategori']==$id_kategori)?"selected" :"";
- echo "<option value='$hasil[id_kategori]'>$hasil[nm_kategori]</option>";
- }
- ?>
- </select>
- </td>
- </tr>
- <tr>
- <td>Headline Berita</td>
- <td>: <textarea cols="50" name="headline" rows="4"><?=$headline?></textarea></td>
- </tr>
- <tr>
- <td>Isi Berita</td>
- <td>: <textarea cols="50" name="isi" rows="10"><?=$isi?></textarea></td>
- </tr>
- <tr>
- <td>Pengirim</td>
- <td>: <input name="pengirim" size="30" value="<?=$pengirim?>" type="text"></td>
- </tr>
- <tr>
- <td> </td>
- <td>
- <input name="hidberita" value="<?=$id_berita?>" type="hidden">
- <input name="edit" value="Edit Berita" type="submit">
- <input name="reset" value="Cancel" type="reset"></td>
- </tr>
- </table>
- </form>
- </body>
- </html>
9. Membuat Halaman Delete Berita
Nama File : delete_berita.php
Deskripsi : Program untuk menghapus berita.
- <?php
- include "koneksi.php";
- if(isset($_GET['id'])){
- $id_berita = $_GET['id'];
- }else{
- die("Error. No Id Selected!");
- }
- ?>
- <html>
- <head><title>Delete Berita</title>
- <link href="style.css" rel="stylesheet">
- </head>
- <a href="index.php">Halaman Depan</a>
- <a href="arsip_berita.php">Arsip Berita</a>
- <a href="input_berita.php">Input Berita</a>
- <body>
- <?
- //proses delete berita
- if(!empty($id_berita)&&$id_berita!=""){
- $query = "DELETE FROM berita WHERE id_berita='$id_berita'";
- $sql = mysql_query($query);
- if($sql){
- echo "<h2>
- <span style='color: blue;'>Berita telah berhasil dihapus</span></h2>";
- }else{
- echo "<h2><span style='color: red;'>Berita gagal dihapus</span></h2>";
- }
- echo "klik <a href='arsip_berita.php'>di sini untuk kembali ke halaman arsip berita";
- }else{
- die("Access Denied");
- }
- ?>
- </body>
- </html>
10. CSS untuk Menghias Tampilan
Nama File : style.css
Deskripsi : File Css sebagai pemanis tampilan
- @charset "utf-8";
- /* CSS Document */
- body{
- font-family:Verdana;
- font-size:11px;
- }
- a{
- color:#0000ff;
- text-decoration:underline;
- }
- a:hover{
- color:#ffffff;
- background-color:#8ac452;
- text-decoration:none;
- }
- input, textarea, select, option{
- font-family:Verdana;
- font-size:12px;
- }
Lengkap sekali tutorialnya, thanks ya
ReplyDelete