Aplikasi Berita dengan PHP dan MySQL

Merancang Struktur Database
Membuat File Koneksi Database
Membuat Halaman Input Berita
Menampilkan Berita Terbaru di Halaman Depan
Menampilkan Berita Lengkap
Membuat Halaman Arsip Berita
Membuat Halaman Edit Berita
Membuat Halaman Delete Berita
CSS sebagai Pemanis Tampilan
Untuk membuat aplikasi berita secara sederhana, langkah pertama adalah
merancang tabel-tabel database yang diperlukan. Secara sederhana, struktur
tabel dapat dibuat dengan spesifikasi sebagai berikut :

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;

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;

membuat file coneksi

input berita.php
<?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 "

Berita telah berhasil
ditambahkan

“;
} else {
echo “

Berita gagal
ditambahkan

“;
}
}
?>

Input Berita

Halaman Depan |
Arsip Berita |
Input Berita

Input Berita

Judul Berita :
Kategori :

<?
$query = "SELECT id_kategori, nm_kategori
FROM kategori ORDER BY nm_kategori";
$sql = mysql_query ($query);
while ($hasil = mysql_fetch_array ($sql)) {
echo "$hasil[nm_kategori]“;
}
?>

Headline Berita :
Isi Berita :
Pengirim :
     

index.php

Index Berita

Halaman Depan |
Arsip Berita |
Input Berita

Halaman Depan ~ Lima Berita Terbaru

<?
$query = "SELECT A.id_berita, B.nm_kategori, A.judul,
A.headline, 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']);
$headline = nl2br(stripslashes
($hasil['headline']));
$pengirim = stripslashes ($hasil['pengirim']);
$tanggal = stripslashes ($hasil['tanggal']);
//
//tampilkan berita
echo "$judul
“;
echo “Berita dikirimkan oleh $pengirim
pada tanggal $tanggal dalam kategori
$kategori
“;
echo ”

$headline

“;
echo “


“;
}
?>

berita lengkap.php

Berita Lengkap

Halaman Depan |
Arsip Berita |
Input Berita

Berita Lengkap

<?
$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 && 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 "$judul
“;
echo “Berita dikirimkan oleh $pengirim
pada tanggal $tanggal dalam kategori
$kategori
“;
echo ”

$isi

“;
?>

arsip_berita.php

Arsip Berita

function tanya() {
if (confirm (“Apakah Anda yakin akan menghapus
berita ini ?”)) {
return true;
} else {
return false;
}
}

Halaman Depan |
Arsip Berita |
Input Berita

Arsip Berita

    <?
    $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']);
    //
    //tampilkan arsip berita
    echo "
  1. $judul
    “;
    echo “Berita dikirimkan oleh $pengirim
    pada tanggal $tanggal dalam kategori
    $kategori
    “;
    echo “Action : Edit | “;
    echo “Delete“;
    echo “
  2. “;
    }
    ?>

edit_berita.php
<?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 "

Berita telah berhasil
diedit

“;
} else {
echo “

Berita gagal
diedit

“;
}
}
?>

Edit Berita

Halaman Depan |
Arsip Berita |
Input Berita

Input Berita

Judul Berita : <input type="text" name="judul"
size="30" value="”>
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 "$hasil[nm_kategori]“;
}
?>

Headline Berita :
Isi Berita :
Pengirim : <input type="text" name="pengirim"
size="20" value="”>
    
<input type="hidden" name="hidberita"
value="”>
 

delete_berita.php

Edit Berita

Halaman Depan |
Arsip Berita |
Input Berita

Input Berita

Judul Berita : <input type="text" name="judul"
size="30" value="”>
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 "$hasil[nm_kategori]“;
}
?>

Headline Berita :
Isi Berita :
Pengirim : <input type="text" name="pengirim"
size="20" value="”>
    
<input type="hidden" name="hidberita"
value="”>
 

delete_berita.php

Delete Berita

Halaman Depan |
Arsip Berita |
Input Berita

<?
//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 "

Berita telah berhasil
dihapus

“;
} else {
echo “

Berita gagal
dihapus

“;
}
echo “Klik di sini
untuk kembali ke halaman arsip berita”;
} else {
die (“Access Denied”);
}
?>

style ccs
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;
}

About these ads

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s