Minggu, 28 April 2019

Materi Pemrograman [Bagian 16]: Update Data dengan PHP-MySQL



Halo-halo... Kita ketemu lagi setelah sekian hari, nah kali ini kita bakal belajar cara update data dengan PHP-MySQL.

Proses update data dengan PHP dan MySQL biasanya memiliki mekanisme:

1.       Tampilkan list data terlebih dahulu.

2.       Buat link tiap baris data yang menuju proses update. Link memuat parameter yang di dalamnya terdapat value sebagai acuan proses update data.

3.       Bila link diklik akan muncul form berisi data yang akan diedit.

Prinsipnya adalah menjalankan query update pada SQL-nya.

UPDATE namaTabel SET namafield = value WHERE ...

Sebagai contoh, kita akan mengupdate data mahasiswa, dimana tabel untuk menyimpan data mahasiswa berbentuk seperti di bawah ini.

nim                        varchar(5)           primary key

nama                     varchar(30)

alamat                  (text)

sex                         varchar(1)

tgllahir                  date

sebagai contoh data awalnya sebagai berikut:

NIM
NAMA
ALAMAT
SEX
TGLLAHIR
M0001
M0002
M0003
A
B
C
SOLO
JAKARTA
BANDUNG
L
L
P
1979-10-20
1982-09-10
1980-11-07



Langkah yang pertama dibuat adalah menampilkan link datanya. Data disajikan dalam bentuk tabel dengan 6 kolom. 5 kolom untuk data awal dan kolom ke-6 untuk link edit.

list.php

<?php

mysql_connect("localhost", "root", "");

mysql_select_db("data");

// query SQL untuk memunculkan semua mahasiswa

$query = "SELECT * FROM mhs";

$hasil = mysql_query($query);

echo "<table border='1'>";

echo "<tr><td>NIM</td>

        <td>Nama Mahasiswa</td>

        <td>Alamat</td>

        <td>Sex</td>

        <td>Tgl Lahir</td>

        <td>Action</td></tr>";

while ($data = mysql_fetch_array($hasil))

{

    echo "<tr><td>".$data['nim']."</td>

            <td>".$data['nama']."</td>

            <td>".$data['alamat']."</td>

            <td>".$data['sex']."</td>

            <td>".$data['tgllahir']."</td>

            <td>Edit</td></tr>";

}

echo "</table>";

?>



Selanjutnya, link editnya berbentuk seperti berikut:


Maka untuk memunculkan link di atas maka isis ‘action’, scriptnya sebagai berikut:

<?php

mysql_connect("localhost", "root", "");

mysql_select_db("data");

// query SQL untuk memunculkan semua mahasiswa

$query = "SELECT * FROM mhs";

$hasil = mysql_query($query);

echo "<table border='1'>";

echo "<tr><td>NIM</td>

        <td>Nama Mahasiswa</td>

        <td>Alamat</td>

        <td>Sex</td>

        <td>Tgl Lahir</td>

        <td>Action</td></tr>";

while ($data = mysql_fetch_array($hasil))

{

    echo "<tr><td>".$data['nim']."</td>

            <td>".$data['nama']."</td>

            <td>".$data['alamat']."</td>

            <td>".$data['sex']."</td>

            <td>".$data['tgllahir']."</td>

            <td><a href='edit.php?nim=".$data['nim']."'>Edit</a></td></tr>";

}

echo "</table>";

?>




Untuk script di atas masuk ke script list.php untk tabel dengan link edit yang bisa diklik, sehingga dapat membuka form berikutnya. Link di atas diedit berdasarkan parameter ‘NIM’.

Langkah selanjutnya adalah membuat script edit.php untuk memunculkan form edit sekaligus data mahasiswa yang akan diedit. Bagaimana caranya? Dengan query SELECT dengan nim sebagai syaratnya. Dalam hal ini, nim dalam link edit sebagai syarat.

edit.php

<?php

mysql_connect("localhost", "root", "");

mysql_select_db("data");

$nim = $_GET['nim'];

$query = "SELECT * FROM mhs WHERE nim = '$nim'";

$hasil = mysql_query($query);

$data  = mysql_fetch_array($hasil);

echo "<form method='post' action='update.php'>";

echo "<table>";

echo "<tr><td>NIM</td><td>:</td> <td><input type='text' name='nim' value='".$data['nim']."'></td></tr>";

echo "<tr><td>Nama Mahasiswa</td><td>:</td> <td><input type='text' name='nama' value='".$data['nama']."'></td></tr>";

echo "<tr><td>Alamat</td><td>:</td> <td><textarea name='alamat'>".$data['alamat']."</textarea></td></tr>";

echo "<tr><td>Sex</td><td>:</td> <td><input type='radio' name='sex' value='L'> Laki-Laki <input type='radio' name='sex' value='P'> Perempuan</td></tr>";

echo "<tr><td>Tgl Lahir</td><td>:</td><td> <select name='tgl'>";

for ($i=1; $i<=31; $i++)

{

    echo "<option value='".$i."'>".$i."</option>";

}

echo "</select> <select name='bln'>";

for ($i=1; $i<=12; $i++)

{

    echo "<option value='".$i."'>".$i."</option>";

}

echo "</select> <select name='thn'>";

for ($i=1980; $i<=1997; $i++)

{

    echo "<option value='".$i."'>".$i."</option>";

}

echo "</select> </td></tr>";

echo "</table>";

echo "<input type='submit' name='submit' value='Submit'>";

echo "</form>";

?>




Konsep radiobutton yanga kan dicheked digunakan pada tanggal lahir. Caranya adalah dengan menggunakan konsep IF. Untuk memecah tanggal, yaitu dengan menggunakan function explode(). Lalu sekarang, bagaimana bila NIM yang diubah? Misal, NIM ‘M0001’ diubah menjadi ‘M0002’, SQLnya sebagai berikut:

UPDATE mhs SET nim=’M0002’ WHERE nim=’M0001’;

Jika diperhatikan, script di atas perlu NIM lama guna proses update. Tapi bila komponen textboxpada form edit untuk NIM di atas dirubah isinya, maka NIM awal akan hilang, lalu bagaimana solusinya?

Maka yang harus kita lakukan adalah membuat komponen hidden input untuk menyimpan NIM ynag lama. NIM ynag lama ini akan dijadikan acuan proses updatenya. Letak hidden input bisa diletakkan di sembarang tempat di dalam form. Konsep untuk script updatenya hanyalah menjalankan query SQL UPDATE.


Tidak ada komentar:

Posting Komentar

Upload File dengan PHP dan MySQL

Upload file adalah salah satu bagian terpenting dalam membuat aplikasi, khususnya yang berbasis web.Contohnya saat kita harus mengupload ent...