Tutorial Membuat Aplikasi Berita Menggunakan Php MySQL

Kali ini saya akan membuatkan cara menciptakan aplikasi info yang sederhana menggunkan PHP dan database MySQL. Untuk menciptakan aplikasi info secara sederhana, langkah pertama yang kita lakukan ialah merancang tabel-tabel database yang diperlukan. Secara sederhana, struktur tabel sanggup dibentuk dengan spesifikasi sebagai berikut :

Tutorial Membuat Aplikasi Berita Menggunakan Php  MySQL

1. Berikut ini perintah (SQL) untuk menciptakan 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 menciptakan 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 eksklusif di database, biar data kategori sanggup muncul di form input.

3. Membuat File Koneksi Database

Nama File : koneksi.php

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 sanggup dibuka"); } }else{ die("Server MySql tidak terhubung"); } ?>

4. Membuat File Menampilkan Headline Berita

Nama File : index.php

Deskripsi : Program menampilkan 5 info 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> &nbsp|
<a href="arsip_berita.php">Arsip Berita</a>&nbsp|
<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 info 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 "

$headline

";
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 info 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 info lengkap

Nama File : berita_lengkap.php

Deskripsi : Program menampilkan info 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 info 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 "

$isi

";
?>
</body>
</html>

7. Membuat Halaman Arsip Berita

Nama File : arsip_berita.phpDeskripsi : 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 info 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 info 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 info 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 info 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 info 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 tambahan 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;
}

Silahkan anda pelajari tutorial menciptakan aplikasi info memakai Php dan MySQL.

Silahkan anda download source codenya melalui link download di bawah ini :

Download source code


Sumber http://referensicoding.info