3. Manipulasi Tabel MySQL
- Cara Insert ke Tabel MySQL
-
Cara
Menampilkan Rows Tabel MySQL
-
Cara Delete Rows Tabel MySQL
-
Cara Update Tabel MySQL
-
mysql_num_rows - Menghitung jumlah baris dari query yang
dihasilkan
-
Contoh Buku Tamu
1. Cara Insert ke Tabel MySQL
Pada tutorial sebelumnya kita telah belajar
membuat tabel di MySQL. Sekarang mari kita belajar mengisi tabel tersebut,
di mana inputan berasal dari form HTML.
forminput.html
<html>
<head>
<title>Input data</title>
</head>
<body>
<h2>Input Data Karyawan</h2>
<form action="inputdata.php" method="post">
Nama : <br>
<input type="text" name="nama"><p>
Tanggal Lahir :<br>
<input type="text" name="tgl">Format yyyy-mm-dd<p>
Jenis Kelamin :<br>
<select name="kelamin">
<option>Laki-laki</option>
<option>Perempuan</option>
</select>
<p>
Alamat :<br>
<textarea cols="30" rows="5" name="alamat"></textarea><p>
<input type="submit">
</form>
</body>
</html>
Kode di atas adalah kode HTML untuk membuat form inputan, yang nantinya akan
kita masukkan ke database.
Pada tag
<form
action="inputdata.php" method="post">,
action berarti kode PHP yang akan memproses inputan jika diklik tombol submit.
Methode yang digunakan adalah POST. Secara umum ada 2 metode pengiriman data ke
server, yaitu POST dan GET. Bedanya jika metode GET, parameter akan ditampilkan
di URL.
Query INSERT
Query INSERT adalah perintah SQL untuk memasukkan data ke tabel di database
MySQL
Sintaks SQL :
INSERT INTO nama_tabel [(col_name,...)] VALUES(nilai1, nilai2,...)
Contoh :
INSERT INTO datakaryawan VALUES(null,'Desrizal','1981-12-13','Laki-laki','Jl.
raya No. 12, Pekanbaru')
Kode di atas adalah SQL, cara menjalankannya melalui PHP adalah dengan
menggunakan fungsi mysql_query(). Untuk lebih jelas kita lihat contoh di
bawah :
inputdata.php
<?php
//lakukan koneksi ke MySQL
mysql_connect("localhost","root","");
//Pilih database tempat tabel akan dibuat
mysql_select_db("databaseku");
//ambil data dari form method POST
$nama =
htmlspecialchars($_POST['nama']);
$tgl =
htmlspecialchars($_POST['tgl']);
$kelamin =
htmlspecialchars($_POST['kelamin']);
$alamat =
htmlspecialchars($_POST['alamat']);
$masuk =
mysql_query("INSERT INTO datakaryawan
VALUES(null,
'$nama','$tgl','$kelamin','$alamat')");
if($masuk){
echo "Data berhasil
diinput";
}else{
echo "Gagal";
}
?>
-
Untuk mengambil data
dari form HTML dengan metode POST adalah
$_POST['namafield']
-
Untuk mengambil data
dari form HTML dengan metode GET adalah
$_GET['namafield']
-
htmlspecialchars()
berguna untuk mengubah kode HTML < dan >
menjadi
<
dan
> gunanya untuk keamanan, jika ada user yang
nakal mengetikkan kode HTML yang merusak penampilan web kita.
-
null
artinya tidak ada nilai, karena pada saat kita
buat create tabel datakaryawan, field karyawanid diset
auto_incerement, artinya akan otomatis berisi nilai integer yang berurut
2. Cara Menampilkan Rows Tabel MySQL
Setelah kita belajar bagaimana menginput data dari form ke tabel di database
mysql, sekarang kita belajar mengambil data dari tabel di MySQL.
Langkah-langkahnya adalah sebagai berikut :
-
Koneksi ke database
MySQL, gunakan fungsi
mysql_connect()
-
Pilih database,
gunakan fungsi
mysql_select_db()
-
Lakukan query
SELECT, gunakan fungsi
mysql_query()
Sintaks SQL :
SELECT nama_field FROM nama_tabel
Contoh :
SELECT nama, tgl_lahir FROM datakaryawan
Atau, jika ingin memilih seluruh field, gunakan tanda bintang (*)
SELECT * FROM datakaryawan
-
Masukkan hasil query
ke dalam array, gunakan fungsi
mysql_fetch_array()
-
Print data dari array,
gunakan fungsi
echo
Sekarang kita lihat contoh kodenya :
tampil.php
<?php
//lakukan koneksi ke MySQL
mysql_connect("localhost","root","");
//Pilih database tempat tabel akan dibuat
mysql_select_db("databaseku");
//lakukan query select
$ambildata = mysql_query("SELECT * FROM datakaryawan");
while($data = mysql_fetch_array($ambildata)){
echo "<a href=detail.php?no=".$data['karyawanid'].">".$data['nama']."</a>
| ";
echo "<a href=delete.php?no=".$data['karyawanid'].">delete</a><br>";
}
?>
3. Cara Delete Rows Tabel MySQL
Untuk mendelete data yang ada di database adalah dengan cara melakukan query
DELETE
Sintaks SQL:
DELETE FROM nama_tabel WHERE namafield=kondisi
Contoh :
DELETE FROM datakaryawan WHERE karyawanid=2
Pada contoh tampil di atas, jika anda jalankan akan ada link delete, yang kalau
diklik akan mengarah file delete php, misal : delete.php?no=1
Sekarang mari kita buat kode PHPnya
delete.php
<?php
//lakukan koneksi ke MySQL
mysql_connect("localhost","root","");
//Pilih database tempat tabel akan dibuat
mysql_select_db("databaseku");
//ambil nilai variabel no yang diambil dari URL
$nomor = $_GET['no'];
//lakukan query DELETE
$del = mysql_query("DELETE FROM datakaryawan WHERE karyawanid=$nomor");
if($del){
echo "Data berhasil di
delete";
}else{
echo "Gagal";
}
?>
4. Cara Update Tabel MySQL
Untuk melakukan update database mysql kita harus melakukan query UPDATE
Sintaks SQL :
UPDATE nama_tabel SET nama_field=nilai, nama_field2=nilai2,...
WHERE nama_field=kondisi
Contoh :
UPDATE datakarayawan SET nama='Desrizal', alamat='Tembagapura'
WHERE karyawanid=1
Oke mari sekarang kita buat program untuk update data karyawan. Pada contoh
tampil.php, jika nama karyawan diklik akan menuju file detail.php
Buat form untuk Update, detail.php
<form action="update.php" method="post">
<?php
//lakukan koneksi ke MySQL
mysql_connect("localhost","root","");
//Pilih database tempat tabel akan dibuat
mysql_select_db("databaseku");
//ambil nilai variabel no yang diambil dari URL
$nomor = $_GET['no'];
//lakukan query SELECT
$data = mysql_query("SELECT * FROM datakaryawan WHERE karyawanid=$nomor");
while($d = mysql_fetch_array($data)){
echo "Karyawan id :
".$d['karyawanid']."<p>";
echo "<input
type=\"hidden\" name=\"id\" value=\"".$d['karyawanid']."\">";
echo "Nama :<br>";
echo "<input
type=\"text\" name=nama value=\"".$d['nama']."\"><p>";
echo "Jenis Kelamin
:<br>";
echo "<select
name=kelamin>";
if($d['kelamin']=="Laki-laki"){
echo "<option selected>Laki-laki</option>
<option>Perempuan</option>\n";
}else{
echo "<option>Laki-laki</option>
<option selected>Perempuan</option>\n";
}
echo "</select><p>";
echo "Alamat :<br>";
echo "<textarea
name=alamat>".$d['alamat']."</textarea><p>";
}
?>
<input type=submit value=update>
</form>
Jika form pada kode diatas diklik, maka akan menjalankan file update.php
<?php
//lakukan koneksi ke MySQL
mysql_connect("localhost","root","");
//Pilih database tempat tabel akan dibuat
mysql_select_db("databaseku");
//ambil nilai variabel no yang diambil dari form POST
$id = htmlspecialchars($_POST['id']);
$nama = htmlspecialchars($_POST['nama']);
$kelamin = htmlspecialchars($_POST['kelamin']);
$alamat = htmlspecialchars($_POST['alamat']);
//lakukan query update
$update = mysql_query("UPDATE datakaryawan
SET nama='$nama',
kelamin='$kelamin',
alamat='$kelamin'
WHERE karyawanid=$id");
if($update){
echo "Data berhasil
diupdate";
}else{
echo "gagal";
}
?>
mysql_num_rows
Fungsi : Menghitung jumlah baris dari query yang dihasilkan
Sintaks :
mysql_num_rows
( resource $result )
Parameter :
$result, hasil dari query yang sudah dijalankan.
Contoh :
<?php
//lakukan koneksi ke MySQL
mysql_connect("localhost","root","");
//Pilih database tempat tabel akan dibuat
mysql_select_db("databaseku");
$query = mysql_query("SELECT * FROM datakaryawan WHERE kelamin='Perempuan'");
$jumlah = mysql_num_rows($query);
echo "Jumlah karyawan Perempuan adalah : $jumlah orang";
?>
6. Contoh Buku Tamu
Sekarang mari kita lihat contoh lainnya, yaitu buku tamu.
Struktur tabel bukutamu di MySQL
CREATE TABLE `bukutamu` (
`nomor` int(10) NOT NULL
auto_increment,
`nama` varchar(50) NOT NULL,
`email` varchar(50) NOT NULL,
`waktu` varchar(30) NOT NULL,
`komentar` text NOT NULL,
PRIMARY KEY
(`nomor`)
)
bukutamu.php
<html>
<head><title>Buku Tamu</title></head>
<body>
<font face=arial size=2>
<h2>Buku Tamu</h2>
<form action="isibukutamu.php" method="post">
Nama:<br>
<input type="text" name="nama"><p>
Email:<br>
<input type="text" name="email"><p>
Komentar:<br>
<textarea name="komentar" cols=40 rows=10></textarea>
<p><input type="submit" value="Kirim">
</form>
<hr>
<!---kode PHP untuk menampilkan bukutamu------->
<?php
//lakukan koneksi ke MySQL
mysql_connect("localhost","root","");
//Pilih database tempat tabel akan dibuat
mysql_select_db("databaseku");
$data = mysql_query("SELECT * FROM bukutamu ORDER BY nomor DESC");
$w = 1;
while($d=mysql_fetch_array($data)){
//buat warna
selang-seling
if($w == 1){
$warna = "#ffffff";
$w = 0;
}else{
$warna = "#efefef";
$w = 1;
}
echo "<div
style=\"background-color:$warna;padding:5\">";
echo "Nama : ".$d['nama']."<br>";
echo "Email :
".$d['email']."<br>";
echo "<font size=1>Waktu
: ".$d['waktu']."</font><br>";
echo "<b>Komentar
:</b><br>".$d['komentar'];
echo "</div><p>\n";
}
?>
</font>
</body>
</html>
</html>
isibukutamu.php
<?php
//lakukan koneksi ke MySQL
mysql_connect("localhost","root","");
//Pilih database tempat tabel akan dibuat
mysql_select_db("databaseku");
$nama = htmlspecialchars($_POST['nama']);
$email = htmlspecialchars($_POST['email']);
$komentar = htmlspecialchars($_POST['komentar']);
$waktu = date("H:i d M Y");
//jika user tekan enter atau barisbaru, kasih tag <br>
$komentar = nl2br($komentar);
$isi = mysql_query("INSERT INTO bukutamu VALUES(null,'$nama','$email','$waktu','$komentar')");
if($isi){
header("location:bukutamu.php");
}else{
echo "Gagal";
}
?>
Semoga bermanfaat
No comments:
Post a Comment