kapita selekta komputer-6

22
KAPITA SELEKTA KOMPUTER Modul-6 : Teknik PHP Lanjutan

Upload: fahry-sains

Post on 03-Dec-2014

151 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: KAPITA SELEKTA KOMPUTER-6

KAPITA SELEKTA KOMPUTER

Modul-6 : Teknik PHP Lanjutan

Page 2: KAPITA SELEKTA KOMPUTER-6

Fungsi Pemilihan Tanggal

• Teknik ini menunjukkan bagaimana pemilihan tanggal yang akan di-input dapat dilakukan melalui “kotak kombo”

• Pertama kita membuat vektor “Nama Bulan”, kemudian membuat fungsi “pilihan tanggal” yang memasukkan Nama Bulan ke dalam kotak kombo.

Page 3: KAPITA SELEKTA KOMPUTER-6

<?php$NAMA_BULAN = array ("","Januari",

"Pebruari", "Maret", "April","Mei","Juni", "Juli","Agustus","September", "Oktober", "November", "Desember");

function pilihan_tanggal( $nama_tg, $nama_bl, $nama_th,

$th_awal, $th_akhir, $tg_bawaan, $bl_bawaan,

$th_bawaan){ global $NAMA_BULAN;

// Tanggal print("<select

name=\"$nama_tg\">\n");

$ada_selected = FALSE; for ($tg=1; $tg <= 31; $tg++) { if ($tg_bawaan == $tg)

{ $selected = "selected";

$ada_selected = TRUE; } else $selected = "";

print("<option value=\"$tg\" $selected>$tg</option>\n");

}

Page 4: KAPITA SELEKTA KOMPUTER-6

if ($ada_selected == FALSE) print("<option value=\"0\" selected></option>\n");

print("</select>\n");

// Bulan print("<select name=\"$nama_bl\">\n");

$ada_selected = FALSE; for ($bl=1; $bl <= 12; $bl++) { if ($bl_bawaan == $bl)

{ $selected = "selected";

$ada_selected = TRUE; } else $selected = "";

print("<option value=\"$bl\" $selected>$NAMA_BULAN[$bl]</option>\n"); }

Page 5: KAPITA SELEKTA KOMPUTER-6

if ($ada_selected == FALSE) print("<option value=\"0\" selected></option>\n");

print("</select>\n"); // Tahun print("<select name=\"$nama_th\">\n");

$ada_selected = FALSE; for ($th=$th_awal; $th <= $th_akhir; $th++) { if ($th_bawaan == $th)

{ $selected = "selected";

$ada_selected = TRUE; } else $selected = "";

print("<option value=\"$th\" $selected>$th</option>\n"); }

Page 6: KAPITA SELEKTA KOMPUTER-6

if ($ada_selected == FALSE) print("<option value=\"0\" selected></option>\n");

print("</select>\n");}

function my_ke_tgl($tanggal)// Mengubah format yyyy-mm-dd (format MYSQL) // menjadi dd/mm/yyyy{ $y = substr($tanggal,0,4); $m = substr($tanggal,5,2); $d = substr($tanggal,8,2); return "$d/$m/$y";}

Page 7: KAPITA SELEKTA KOMPUTER-6

function my_ke_tgl2($tanggal)// Mengubah format yyyy-mm-dd (format MYSQL) // menjadi dd nama_bulan yyyy{ global $NAMA_BULAN; $y = (integer) substr($tanggal,0,4); $m = (integer) substr($tanggal,5,2); $d = (integer) substr($tanggal,8,2); return "$d $NAMA_BULAN[$m] $y";}

function tgl_ke_my($tg, $bl, $th){ $y = (int) $th; $m = (int) $bl; $d = (int) $tg; return sprintf("%04d-%02d-%02d", $y, $m, $d);}

?>

Page 8: KAPITA SELEKTA KOMPUTER-6

Mencoba Pilih Tanggal<html><head><title>Mencoba Pemilihan Tanggal</title></head><body> <?php require_once "tanggal.php"; $tahun_sekarang = (integer) date("Y"); print("Tanggal :"); pilihan_tanggal("selecttg", "selectbl", "selectth", 1900, $tahun_sekarang, 17, 8, 1945); ?> </body></html>

Page 9: KAPITA SELEKTA KOMPUTER-6

Mencoba Fungsi Ubah Format Tanggal

<html><head><title>Mencoba Fungsi-Fungsi Tanggal</title></head><body> <?php require_once "tanggal.php"; $tgl1 = "2007-12-30"; $tgl2 = my_ke_tgl($tgl1); echo "$tgl2 <br>"; echo my_ke_tgl2($tgl1) . "<br>"; echo tgl_ke_my(5,3,2009); ?> </body></html>

Page 10: KAPITA SELEKTA KOMPUTER-6

Format Tanggal Data Karyawan

Page 11: KAPITA SELEKTA KOMPUTER-6

<html><head><title>Memformat Tanggal</title></head><body>

<?php require_once "tanggal.php";

$server = "127.0.0.1"; $pemakai = "userphp"; $password = "php123";

$id_mysql = mysql_connect($server, $pemakai, $password); if (! $id_mysql) die("Tak dapat melakukan koneksi ke server MySQL");

$db_personalia = mysql_select_db("personalia", $id_mysql); if (! $db_personalia) die("Tak dapat mengakses database personalia");

Page 12: KAPITA SELEKTA KOMPUTER-6

// Bagian untuk membaca data$sql = "SELECT nip, nama, tgl_lahir FROM karyawan";$hasil = mysql_query($sql, $id_mysql);if (! $hasil) die("Salah SQL"); $nomor = 0;

print("<table width = \"80%\" border=\"1\">\n");print("<tr>\n");print("<td width=\"10%\">No</td>\n");print("<td width=\"15%\">NIP</td>\n");print("<td width=\"40%\">Nama</td>\n");print("<td width=\"35%\">Tanggal Lahir</td>\n");print("</tr>\n");

Page 13: KAPITA SELEKTA KOMPUTER-6

while ($baris = mysql_fetch_row($hasil)) { $nomor++; $nip = $baris[0];

$nama = $baris[1]; $tgl_lahir = $baris[2];

$data_lahir = my_ke_tgl2($tgl_lahir); print("<tr>\n"); print("<td>$nomor</td>\n"); print("<td>$nip</td>\n"); print("<td>$nama</td>\n"); print("<td>$data_lahir</td>\n");}

print("</table>\n");// Akhir pembacaan data

mysql_close($id_mysql); ?></body></html>

Page 14: KAPITA SELEKTA KOMPUTER-6

Menambah Data Karyawan

• Teknik berikutnya adalah membuat form untuk menambah data karyawan, dimana ada pemeriksaan terhadap nip, nama, tanggal, departemen

• apabila dikosongkan akan ada info kesalahan

Page 15: KAPITA SELEKTA KOMPUTER-6

<html><head><title>Menambah Karyawan</title><script type="text/javascript" src="tglvalid.js"></script><script type="text/javascript">function cekdata(){ // Cek NIP if (formtambah.textnip.value=="") { alert("NIP tidak boleh kosong");

formtambah.textnip.focus(); return false;

}

if (formtambah.textnip.value.length != 5) { alert("NIP harus berupa 5 digit");

formtambah.textnip.focus(); return false;

}

Page 16: KAPITA SELEKTA KOMPUTER-6

// Cek nama if (formtambah.textnama.value=="") { alert("Nama tidak boleh kosong");

formtambah.textnama.focus(); return false;

} // Cek tanggal if (formtambah.selecttg.value=="0" || formtambah.selectbl.value=="0" ||

formtambah.selectth.value=="0" ) { alert("Tanggal/Bulan/Tahun tidak boleh kosong");

formtambah.selecttg.focus(); return false;

}

Page 17: KAPITA SELEKTA KOMPUTER-6

if (! tglvalid(formtambah.selecttg.value, formtambah.selectbl.value, formtambah.selectth.value)) { alert("Tanggal tidak valid");

formtambah.selecttg.focus(); return false;

} // Cek departemen if (formtambah.selectdep.value=="") { alert("Departemen tidak boleh kosong");

formtambah.selectdep.focus(); return false;

}

return true;}</script></head>

Page 18: KAPITA SELEKTA KOMPUTER-6

<body><h1>Menambah Karyawan</h1><form name="formtambah" action="tamkar7.php" method="post" onSubmit="return cekdata()"> <table border="1" bgcolor="#99FF66"> <tr> <td>NIP</td> <td> <input name="textnip" type="text" size="5" maxlength="5"></td> </tr> <tr> <td>Nama</td> <td> <input name="textnama" type="text" size="35" maxlength="35"></td> </tr> <tr> <td>Tanggal Lahir</td> <td>

<?php require_once "tanggal.php";

$tahun_sekarang = (integer) date("Y"); pilihan_tanggal("selecttg", "selectbl", "selectth", 1900, $tahun_sekarang, 0, 0, 0);

?> </td>

</tr>

Page 19: KAPITA SELEKTA KOMPUTER-6

<tr> <td>Jenis Kelamin</td> <td> <input name="checkpria" type="checkbox" value="Pria" checked> Pria</td> <td> <input name="checkwanita" type="checkbox" value="Wanita"> Wanita</td> </tr> <tr> <td>Departemen </td>

<td><select name="selectdep"> <option value="" selected></option> <?php

$server = "127.0.0.1"; $pemakai = "suarga"; $password = "";

$id_mysql = mysql_connect($server, $pemakai, $password); $db_personalia = mysql_select_db("personalia", $id_mysql);

$sql = "SELECT kode_dep, nama_dep FROM departemen"; $hasil = mysql_query($sql, $id_mysql);

Page 20: KAPITA SELEKTA KOMPUTER-6

while ($baris = mysql_fetch_row($hasil)) { $kode_dep = $baris[0];

$nama_dep = $baris[1];

print("<option value=\"$kode_dep\">$nama_dep</option>\n"); } mysql_close($id_mysql);

?> </select> </td> </tr> <tr> <td colspan="2"><input name="buttonsimpan" type="submit"

value="Simpan"></td> </tr> </table> </form>

Page 21: KAPITA SELEKTA KOMPUTER-6

<?php if ($_POST["buttonsimpan"] == "Simpan")

{ // Berarti tombol Simpan diklik

// Ambil data yang dilewatkan skrip $textnip = $_POST['textnip'];

$textnama = $_POST['textnama']; $selecttg = $_POST['selecttg'];

$selectbl = $_POST['selectbl']; $selectth = $_POST['selectth']; $checkpria = $_POST['checkpria']; $selectdep = $_POST['selectdep'];

if ($checkpria == "Pria") $pria = TRUE; else $pria = FALSE;

$tgl_lahir = tgl_ke_my($selecttg, $selectbl, $selectth);

Page 22: KAPITA SELEKTA KOMPUTER-6

// Proses MySQL $server = "127.0.0.1"; $pemakai = "suarga"; $password = "";

$id_mysql = mysql_connect($server, $pemakai, $password); $db_personalia = mysql_select_db("personalia", $id_mysql);

$sql = "INSERT INTO karyawan " . "(nip, nama, tgl_lahir, jenis_kelamin, kode_dep) " .

"VALUES('$textnip', '$textnama', '$tgl_lahir', " . "'$pria','$selectdep')";

$hasil = mysql_query($sql, $id_mysql); if (empty($hasil)) print("Gagal menyimpan data nip='$textnip'"); else print("Data nip='$textnip' telah disimpan");

mysql_close($id_mysql); }

?></body></html>