View Full Version : Yuk membuat Input,Edit dan Delete dengan PHP


BobyKurniawan
13th March 2014, 01:56 PM
Haii. Selamat siang, nah sekarang saya mau ngeshare cara tradisionalnih, tentang input,edit dan delete dengan PHP. Apa aja sih yang harus disiapkan ?


Xampp -> Download disini (http://www.apachefriends.org/index.html)
Text editor, kalo gak ada pake notepad aja :D


TOC (Table Of Content)

Membuat Form inputnya + Proses disini -> http://forumku.com/showpost.php?p=51625&postcount=2
Menampilkan list user -> http://www.forumku.com/showpost.php?p=51712&postcount=4
Mengedit dan mendelete -> http://www.forumku.com/showpost.php?p=51717&postcount=5

<-->

Kalo udah lengkap, yukk kita mulai. Yang pertama harus anda lakukan buat databasenya namanya terserah.
trus kalo udah jadi, buat table , nih query untuk membuat tabel users.
CREATE TABLE users (
`ID` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(64) NOT NULL,
`username` varchar(64) NOT NULL,
`password` varchar(64) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Tabel users terus menerus akan dipakai di tutorial ini.

setelah udah dijalankan, nanti akan muncul seperti ini (Kurang lebih)

http://imageshack.com/a/img850/1372/vtzi.png

Setelah database sudah jadi, kita harus membuat script untuk membuat koneksi kedatabase. Yah anggap aja file konfigurasi deh .


<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "Belajar";
$cn = mysql_connect($host,$user,$pass);
if(!$cn) {
die("Failed: " . mysql_error());
}
$db = mysql_select_db($db,$cn);
if(!$db) {
die("Failed: " . mysql_error());
}
?>


Simpan script diatas dengan nama koneksi.php, yah tapi terserahlah.

Aduh ada jam kuliah, nanti dilanjutin lagi yah :)

BobyKurniawan
14th March 2014, 11:15 AM
Lanjutannyaa <-->

Setelah koneksinya udah dibuat, coba dijalankan. Kalo misalnya pas dijalanin ada pesan, tandanya itu ada kesalah sedangkan kalo dijalanin kosong tandanya gak ada masalah alias sukses !

Setelah koneksinya sudah jadi, sekarang waktunya buat form. Ini script formnya =>

<form id="form1" name="form1" method="post" action="prosesinput.php">
<table width="200" border="0">
<tr>
<td>Name</td>
<td>
<input type="text" name="name" /></td>
</tr>
<tr>
<td>Username</td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td>Password</td>
<td><input type="text" name="password" /></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" name="button" id="button" value="Submit" /></td>
</tr>
</table>
</form>

lihat deh script diatas, setiap textfield memiliki name . Kenapa sih harus dikasih nama ? supaya nanti pas di action scriptnya, kita tau textfield mana yang kita isi dengan username, password dan seterusnya.

<form id="form1" name="form1" method="post" action="prosesinput.php">
dari script diatas itu menunjukan kalau, action scriptnya bernama prosesinput.php, kenapa harus dikasih action script? setelah ditekan tombol submit, form itu akan terproses di file actionscript.php

Nah ini script prosesinput.php nya -->


<?php
include 'koneksi.php';
$name = $_POST['name']; //=> Nama textfield untuk Name
$username = $_POST['username']; // => Nama textfield username
$password = $_POST['password']; // => Nama textfield password
//Mengambil data dari tabel users
$sql="select * from users where username = '$username'";
$result = mysql_query($sql);
$grp = mysql_fetch_array($result);
$row = mysql_num_rows($result);
//Jika username sudah terdaftar
if($row==1)
// Maka
{ echo "username : ".$username." Sudah terdaftar";}
//Jika kosong
else
//Maka
{
$query = mysql_query("insert into users values('', '$name', '$username', '$password')") ;
if(!$query) {
die("Gagal sob ! : Nih erronrnya disini --> ".mysql_error());
}
}
?>


Coba di cek di tabel usersnya, udah masuk belum? kalo belum ada kesahaannya tuh. Koment aja dibawah :(handshake):

Entar dilanjut lagi yah kaa :)

admin
14th March 2014, 04:52 PM
^^^ wah keren nich tutorial nya , bisa belajar nich dikit2

BobyKurniawan
14th March 2014, 06:43 PM
lanjut lagi ..Numpang curhat dikit yah, sebenernya mau diselsain satu hari buat ini thread, cuman apa daya. Ada projek kecil-kecilan udah gitu disuruh ikut olimpiade sains antar cabang kampus lagi -_-.
Sekarang saatnya membuat listuser.php, dimana listuser.php ini akan menampilkan isi tabel dari users.

<?php
include 'koneksi.php';


$qr=mysql_query("select * from users"); //Perintah query untuk memunculkan semua yang ada diuser
if(!$qr)
{
die("Ada yang salah nih -> " . mysql_error());

}


?>
<h2>
<a href="forminput.php"> Input Baru </a></h2>
<table width="900" border="1" align="center">
<tr align="middle">
<td width="80">No</td>
<td width="200">ID</td>
<td width="200">Name</td>
<td width="200">Username</td>
<td width="200">Password</td>
<td width="200">Action</td>
</tr>
<?php
$nomor = 0;
while($data = mysql_fetch_array($qr))
{
$nomor++;
?>
<tr align="middle">
<td><?php echo $nomor; ?></td>
<td><?php echo $data[0]; //urutan satu dari kiri ?></td>
<td><?php echo $data[1]; // urutan dua dari kiri ?></td>
<td><?php echo $data[2]; // urutan tiga dari kiri?></td>
<td><?php echo $data[3];// urutan empat dari kiri?></td>

<td align="center"><a href="edit.php?id=<?php echo $data[0];?>"> Edit </a> | <a href="delete.php?id=<?php echo $data[0];?>"> Delete </a>
</td>
<?php } ?>
</tr>
</table>


Lihat deh script ini ->

while($data = mysql_fetch_array($qr))

Kenapa sih harus pake seperti itu? penggunaan seperti yang kita ketahui penggunaan while itu digunakan untuk mengulang perintah $qr, selama $qr diatas masih tersidia, dia akan terus menerus menjalankan pengulangan itu hingga $qr nya abis atau tidak ada lagi yang bisa ditampilkan. Kurang lebih seperti itu, mungkin kalau ada yang lebih faham, omelin aja sayanya yah :D

Coba dijalankan ka :).

$data[0],$data[1],$data[2],$data[3] bisa dijadikan variabel lainnya, Misalnya seperti ini.

<?php
$nomor = 0;
while($data = mysql_fetch_array($qr))
{ $nomor++;
$id = $data[0];
$name =$data[1];
$username = $data[2];
$password = $data[3];
?>
<tr align="middle">
<td><?php echo $nomor; ?></td>
<td><?php echo $id; //urutan satu dari kiri ?></td>
<td><?php echo $name; // urutan dua dari kiri ?></td>
<td><?php echo $username; // urutan tiga dari kiri?></td>
<td><?php echo $password;// urutan empat dari kiri?></td>

<td align="center"><a href="edit.php?id=<?php echo $id;?>"> Edit </a> | <a href="delete.php?id=<?php echo $id;?>"> Delete </a>
</td>
<?php } ?>

BobyKurniawan
14th March 2014, 10:16 PM
script terakhir namanyakan listuser.php coba deh jalanin. Kalo ini listuser saya setelah diisi bertubi-tubi

http://imageshack.com/a/img62/4813/2jy8.png

Dalam penginputan data cukup banyak yang membuat kesalahan, mungkin jika itu masih belum di proses ke tahap selanjutnya masih mungkin, nah kalo misalnya dia sudah ketahap selanjutnya atau dalam kata lain sudah tersimpan di database?. Oleh karena itu sekarang saya akan meng-share cara membuat edit pada data yang sudah tersimpan. Berikut script edit.php ->

<?php
include 'koneksi.php';
$id=$_GET['id'];
$mysql="select * from users where ID = '$id'";
$mqr=mysql_query($mysql);
$bio=mysql_fetch_array($mqr);
?>
<body><form method="post" action="prosesedit.php?id=<?php echo $id; ?>">
<table width="430" border="0">
<tr>
<td width="136">Name</td>
<td width="278">
<input type="text" name="newname" value="<?php echo $bio[1]?>" ></td>
</tr>
<tr>
<td>Username</td>
<td>
<input type="text" name="newusername" value="<?php echo $bio[2]?>"></td>
</tr>
<tr>
<td>Password</td>
<td><label for="divisi"></label>
<input type="text" name="newpassword" id="divisi" value="<?php echo $bio[3]?>"></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="Update" name="update" align=""></td>
</tr>
</table><p align="right">&nbsp;</p>
</form>
</body>
</html>

lihat script ini ->


$id=$_GET['id'];
$mysql="select * from users where ID = '$id'";


Variabel id ($id) berisi parameter yang tadi dikirim dari listuser.php setelah menekan link edit. Coba buka listuser.php dibrowser lalu klik pada link edit, dan lihat di urlnya. dia akan terlihat seperti ini 'edit.php?id=1', '1' itu adalah parameternya.

Lalu dalam $mysql="select * from users where ID = '$id'"; , query itu bertujuan untuk memunculkan data dari tabel user yang memiliki ID sesuai parameter yang dikirim.

Gimana bingungkan ? maaf yah kalo kata-katanya kurang bisa dicerna :(-:.

trus liat deh, script ini ->

<input type="text" name="newname" value="<?php echo $bio[1];?>" >
kenapa dikasih value nya? dan kenapa isi valuenya seperti itu ? value itu berfungsi menampilkan isi textfield secara default tanpa harus di isi. Nah echo $bio[1] itu berfungsi menampilkan value yang sesuai dengan query tadi. ($bio[1]; bisa dideklarkan menjadi variabel lain, $name = $bio[1];, jadi nanti isi valuenya $name)

Coba klik edit, kalo di punya saya setelah di klik edit tampilannya seperti ini ->

http://imageshack.com/a/img690/3109/t99w.png

<form method="post" action="prosesedit.php?id=<?php echo $id; ?>">


Menurut script diatas nama action scriptnya 'prosesedit.php' jadi mari kita buat proses editnya. ->


<?php
include ("koneksi.php");
$id = $_GET['id']; //Mengambil ID
$namebaru=$_POST['newname'];
$usernamebaru=$_POST['newusername'];
$passwordbaru= $_POST['newpassword'];
//Mengubah name,username dan password dimana ID nya = $id
$query = mysql_query("UPDATE users SET name='$namebaru',username='$usernamebaru',password ='$passwordbaru' WHERE ID = '$id'");
if(!$query) { //Jika query gagal
die("Failed: " . mysql_error());
}
header('location:listuser.php'); //Redirect
?>


oh iyah jangan lupa memanggil script koneksi.php, karena itu jembatan agar bisa terhubung dengan database.

Nah sekarang, bagian menghapuss nih karena konsepnya sama mengambil id dan lakukan query sesuai id , jadi kayanya gakusah dijelasin yaa :D -> Nih script untuk mendelete

<?php
include 'koneksi.php';
$id = $_GET['id'];
$del1 = mysql_query("delete from users where ID = '$id'");
if (!$del1) {
die("Failed: " . mysql_error());
}

header('location:listuser.php')
?>

save dengan nama delete.php

Kalo ada waktu lagi dilanjutin ke inputnya langsung banyak dan pencarian

وَ السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

admin
16th March 2014, 03:41 PM
^^^ belajar gini ada di kampus atau belajar sendiri ya oom ?

BobyKurniawan
17th March 2014, 06:40 PM
^^^ belajar gini ada di kampus atau belajar sendiri ya oom ?

kebetulan di kampus saya ada, tapi tetap perlu mencari refrensi di tempat lain .

admin
17th March 2014, 06:47 PM
^^^ yang mau icip hosting, kemaren domain nya apa oom ?

BobyKurniawan
18th March 2014, 06:06 PM
^^^ yang mau icip hosting, kemaren domain nya apa oom ?

bobykurniawan . com, tapi sepertinya tidak jadi deh om, soalnya sebentar lagi mau abis domainnya. Mau diperpanjang dulu, itu sih kalau masih ada hehe

BobyKurniawan
22nd March 2014, 07:24 PM
Mencari data dengan PHP

Mumpung sekarang lagi ada waktu senggang, sekarang saya mau melanjutkan thread ini. Sekarang kita akan mencoba untuk mencari data di PHP, databasenya masih pake yang lama yah. Yuk kita mulai, pertama tambahkan textfield di atas listuser.php


<form action="cari.php" method="post">
<label for="cari">Pencarian</label>
<input type="text" name="cari" id="textfield" /> <!-- Nama textfieldnya cari -->
<input name="search" type="submit" value="Cari" /><!-- Nama buttonya search -->
</form>


Trus ini prosesnya ->


<?php
if(isset($_POST['search'])){
$cari = $_POST['cari'];
header("location:listuser.php?cari=$cari");
}
?>

Simpan proses diatas dengan nama cari.php. Kalo nama tombol atau textfieldnya ingin diubah silahkan.

lalu ubah query ini ->
select * from users
menjadi seperti ini ->

select * from users where name like '%$cari1%' or username like '%$cari1%'

querynya terletak di listuser.php

Pada query yang baru kita menambahkan where name like '%$cari1%' or username like '%$cari1%'. Query itulah yang akan berfungsi untuk mencari datanya. Jika dibaca kira kira seperti ini , pilih semua dari users dimana name seperti $cari1 atau username seperti $cari1.

Kenapa harus pake like? jika kita menggunakan query ini
select * from users where name ='$cari1%' or username ='$cari1'
dihalaman awal tidak akan muncul apa apa.

Okeh semiga bermanfaat, kalo bingung nanya aja disini :D

giant
30th June 2014, 10:06 AM
pas banget buat referensi nih bang TS
untuk pencarian kok ndak muncul apa2 yah
cuman lists user nya aja
keknya ga guna di ane