INTEGRASI MYSQL PADA PHP

Posted: Januari 27, 2009 in Uncategorized
Tag:, , , ,

1. Dasar SQL Query

SQL (Structured Query Language) adalah bahasa yang khusus digunakan untuk mengoperasikan database. Untuk memudahkan pelajaran, SQL query akan dikelompokkan menjadi tiga:

· Query untuk mengelola database

· Query untuk mengakses data dalam satu tabel

· Query yang melibatkan lebih dari satu table

Query pengelolaan database

Yang termasuk ke dalam kelompok ini adalah query yang bertujuan untuk :

a. Membuat database

b. Menghapus database

c. Membuat tabel

d. Memodifikasi tabel

e. Menghapus tabel

f. Menambah user

g. Mengatur permission

h. Menghapus user


Membuat database dilakukan dengan perintah sebagai berikut :

p1

Contohnya : untuk aplikasi Content Management, kita akan membuat database ContentManager dengan query sebagai berikut :

p2

Menghapus database dilakukan dengan perintah :

p3

Contoh :

p4

Membuat tabel dilakukan dengan memberikan perintah sebagai berikut:

p5

contohnya:

p6

Menghapus tabel dilakukan dengan menggunakan query

p7

Contoh :

p8

Query satu tabel

Query satu tabel digunakan untuk mengelola data dalam satu tabel. Beberapa hal yang dapat dilakukan pada satu tabel adalah :

p9

Untuk memasukkan data ke dalam database, kita menggunakan perintah INSERT. Aturan penulisannya adalah :

p10

Contoh :

p11

Untuk mengubah data dalam database, digunakan perintah UPDATE, dengan aturan penulisan sebagai berikut :

p12

Contoh :

p13

Untuk menampilkan data dalam tabel, gunakan perintah SELECT. Aturan penulisannya adalah sebagai berikut:

p14

Contoh :

p15

Untuk menghapus data dari dalam tabel, gunakan perintah DELETE. Aturan penulisannya adalah :

p16

Contoh :

p17

Query banyak tabel

Query banyak tabel digunakan untuk menghubungkan data di lebih dari satu database. Pembahasan tentang join berada di luar materi PHP Programming dan ada di pembahasan tentang relational database.

2. Membuat koneksi ke database

Sebelum mulai, kita terlebih dahulu akan membuat database. Kita membutuhkan tabel user untuk menyimpan data sebagai berikut :

p18

Tabel dibuat dengan memberikan query sebagai berikut:

p19

tabel siap digunakan. Kita akan mulai dengan halaman daftar, karena kita belum punya user. File register.php akan menangani pendaftaran user baru. Tugasnya adalah memasukkan data yang diisi dalam form ke dalam database. Selanjutnya, kita akan melakukan langkah-langkah seperti yang disebutkan di atas.

Membuka sambungan dengan database server

Untuk membuka sambungan, kita membutuhkan alamat server serta username dan password untuk database. Setelah itu, kita membuka sambungan dengan perintah sebagai berikut :

p20

Sambungan dengan database disimpan dalam variabel $dbConn untuk digunakan pada langkah-langkah selanjutnya.

Memilih dan membuka database yang diinginkan

Selanjutnya, kita akan menggunakan database tutorial, yang sebelumnya telah dibuat dengan menggunakan PHPMyAdmin. Gunakan kode berikut untuk memilih dan membuka database phpTutorial.

p21

Sekarang database telah siap untuk digunakan. Kita dapat melangkah ke tahap selanjutnya, yaitu memasukkan data.

Mengirim perintah untuk mengambil / mengubah / menghapus data.

Perintah untuk memasukkan data dibuat dengan menggunakan aturan SQL, dijelaskan lebih lengkap pada bagian selanjutnya. Query (perintah) untuk memasukkan data adalah :

p22

Perintah tersebut dieksekusi di dalam script PHP sebagai berikut :

p23

Script kita harus mengambil data dari HTML Form (register.htm) dan memasukkannya ke dalam database. Untuk itu, kita akan membuat file register.php yang berisi kode sebagai berikut :

p24

3. Mengakses hasil query

Setelah register.htm dieksekusi dengan sukses, kita telah memiliki satu user dalam database. Dengan demikian, kita dapat menguji halaman login yang telah kita buat. Untuk itu, kita perlu mengakses data dalam database dan mencocokkannya dengan input yang diberikan user. Langkah-langkah untuk mengakses data dalam database adalah :

· Membuat sambungan database

· Memilih database

· Membuat query

· Menjalankan query

· Mengambil hasilnya

· Memproses hasil

Query yang akan digunakan adalah :

p25

Query ini akan dimasukkan ke dalam script menjadi :

p26

dan dieksekusi dengan kode :

p27

Bila userName yang diinputkan user tidak ada dalam database, query akan mengembalikan 0 (nol) baris hasil. Bila ada, query akan menghasilkan array yang berisi data pada masingmasing kolom dalam database. Untuk mengetahui jumlah hasil yang didapat dari query, digunakan kode sebagai berikut:

p28

Apabila hasilnya tidak nol (berarti username telah terdaftar dalam sistem), kita akan mengambil data password. Untuk itu, kita gunakan perintah:

p29

data password ada dalam array, diakses dengan cara :

p30

Dengan demikian, keseluruhan script login.php akan menjadi :

p31

4. Studi Kasus Nilai Akademik

Data Induk

Berikut ini potongan program untuk menampilkan data induk mahasiswa

p32

p33

Nilai Mahasiswa

Berikut ini potongan kode untuk menampilkan nilai mahasiswa

$link = mysql_connect(‘localhost’, ‘user23206060’, ‘33475932’);//$link =

mysql_connect(‘localhost’, ‘user23206060’, ‘33475932’);

if (!$link) {

die(‘Not connected : ‘ . mysql_error());

}

else

{

// make foo the current db

$db_selected = mysql_select_db(‘db23206060’, $link);//$db_selected =

mysql_select_db(‘akademik’, $link);

if (!$db_selected) {

die (‘Can\’t use akademik : ‘ . mysql_error());

}

else { //berhasil konek kedatabse

$result = mysql_query(‘SELECT * from nilai’);

if (!$result) {

die(‘Invalid query: ‘ . mysql_error());

}

else{ //berhasil query

$i = 1;

while ($row = mysql_fetch_assoc($result)) {

if (($i % 2) == 1) {

?>

<tr>

<td align=”left” bgcolor=”#ededed”><span

class=”style21″> <? echo $i; ?> </span></td>

<td align=”left” bgcolor=”#ededed”><span

class=”style21″><? echo $row[‘nim’]; ?> </span></td>

<td align=”left” bgcolor=”#ededed”><span

class=”style21″><? echo $row[‘kode’]; ?> </span></td>

<td align=”left” bgcolor=”#ededed”><div

align=”center”><span class=”style21″> <? echo $row[‘nilai’]; ?></span></div></td>

<td align=”left” bgcolor=”#ededed”><div

align=”center”><span class=”style21″> <? echo $row[‘tahun’]; ?></span></div></td>

<td align=”left” bgcolor=”#ededed”><div

align=”center”><span class=”style21″> <? echo $row[‘semester’]; ?></span></div></td>

<td align=”left” bgcolor=”#ededed”><div

align=”center”><span class=”style14″><a href=”nilai.php?nim=<? echo

$row[‘nim’];?>&kode=<? echo $row[‘kode’];?>&nilai=<? echo $row[‘nilai’];?>&tahun=<? echo

$row[‘tahun’];?>&semester=<? echo $row[‘semester’];?>&operasi=edit” target=isi><img

src=”images/edit.gif” width=”27″ height=”16″></a> &nbsp;&nbsp; <a href=”nilai.php?nim=<?

echo $row[‘nim’];?>&operasi=delete” target=isi><img src=”images/delete.gif” width=”30″

height=”16″></a></span></div></td>

</tr>

<?

}

else{ //ganti model baris

?>

<tr>

<td align=”left” bgcolor=”#ffffff”><span

class=”style21″> <? echo $i; ?> </span></td>

<td align=”left” bgcolor=”#ffffff”><span

class=”style21″><? echo $row[‘nim’]; ?> </span></td>

<td align=”left” bgcolor=”#ffffff”><span

class=”style21″><? echo $row[‘kode’]; ?> </span></td>

<td align=”left” bgcolor=”#ffffff”><div

align=”center”><span class=”style21″> <? echo $row[‘nilai’]; ?></span></div></td>

<td align=”left” bgcolor=”#ffffff”><div

align=”center”><span class=”style21″> <? echo $row[‘tahun’]; ?></span></div></td>

<td align=”left” bgcolor=”#ffffff”><div

align=”center”><span class=”style21″> <? echo $row[‘semester’]; ?></span></div></td>

<td align=”left” bgcolor=”#ffffff”><div

align=”center”><span class=”style14″><a href=”nilai.php?nim=<? echo

$row[‘nim’];?>&kode=<? echo $row[‘kode’];?>&nilai=<? echo $row[‘nilai’];?>&tahun=<? echo

$row[‘tahun’];?>&semester=<? echo $row[‘semester’];?>&operasi=edit” target=isi><img

src=”images/edit.gif” width=”27″ height=”16″></a> &nbsp;&nbsp; <a href=”nilai.php?nim=<?

echo $row[‘nim’];?>&operasi=delete” target=isi><img src=”images/delete.gif” width=”30″

height=”16″></a></span></div></td>

</tr>

<?

}

$i++;

}

mysql_free_result($result);

}

}

}

p34

Transkrip

Berikut potongan program untuk menampilkan transkrip mahasiswa

if (!$link) {

die(‘Not connected : ‘ . mysql_error());

}

else

{

// make foo the current db

$db_selected = mysql_select_db(‘db23206060’, $link);//$db_selected =

mysql_select_db(‘akademik’, $link);

if (!$db_selected) {

die (‘Can\’t use akademik : ‘ . mysql_error());

}

else { //berhasil konek kedatabse

$query = “SELECT k.kode , k.nama , n.nilai, n.tahun, n.semester from

mahasiswa m, nilai n, kode k where k.kode = n.kode and m.nim = n.nim and

n.nim='”.$nim.”‘”;

//echo $query;

$result = mysql_query($query);

if (!$result) {

die(‘Invalid query: ‘ . mysql_error());

}

else{ //berhasil query

$i = 1;

while ($row = mysql_fetch_assoc($result)) {

if (($i % 2) == 1) {

?>

<tr>

<td align=”left” bgcolor=”#ededed”><span

class=”style21″><? echo $i; ?></span></td>

<td align=”left” bgcolor=”#ededed”><span

class=”style21″><? echo $row[‘kode’]; ?></span></td>

<td align=”left” bgcolor=”#ededed”><span

class=”style21″><? echo $row[‘nama’]; ?></span></td>

<td align=”left” bgcolor=”#ededed”><div

align=”center”><span class=”style21″><? echo $row[‘nilai’]; ?></span></div></td>

<td align=”left” bgcolor=”#ededed”><div

align=”center”><span class=”style21″><? echo $row[‘tahun’]; ?></span></div></td>

<td align=”left” bgcolor=”#ededed”><div

align=”center”><span class=”style21″><? echo $row[‘semester’]; ?></span></div></td>

</tr

</tr>

<?

}

else{ //ganti model baris

?>

<tr>

<td align=”left” bgcolor=”#ffffff”><span

class=”style21″><? echo $i; ?></span></td>

<td align=”left” bgcolor=”#ffffff”><span

class=”style21″><? echo $row[‘kode’]; ?></span></td>

<td align=”left” bgcolor=”#ffffff”><span

class=”style21″><? echo $row[‘nama’]; ?></span></td>

<td align=”left” bgcolor=”#ffffff”><div

align=”center”><span class=”style21″><? echo $row[‘nilai’]; ?></span></div></td>

<td align=”left” bgcolor=”#ffffff”><div

align=”center”><span class=”style21″><? echo $row[‘tahun’]; ?></span></div></td>

<td align=”left” bgcolor=”#ffffff”><div

align=”center”><span class=”style21″><? echo $row[‘semester’]; ?></span></div></td>

</tr>

<?

}

$i++;

}

mysql_free_result($result);

}

}

}

p35

Komentar
  1. wawa mengatakan:

    gMn y?sebaiknya qta bisa hafal at setidaknya ingat kode2 php maupun mysql,tanpa perlu kita membuka buku kembali atau membuka beberapa situs untuk mengetahuinya.
    karena terkadang saya harus membuat tampilan, misalnya tampilan login pada php atau mysql….
    trim’z?!

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s