MEMBUAT COMBOBOX DENGAN PHP

:: BAGAIMANA CARA MEMBUAT COMBO BOX DINAMIS DI PHP ? ::.

A. Langkah-langkah pembuatan database:
1. Buat database di mysql
--> buat database dengan nama 'Regional'
--> buat tabel provinsi dan kabupaten

2. Buat tabel provinsi :
CREATE TABLE `provinsi` (
`id_provinsi` int(11) NOT NULL auto_increment,
`nama_provinsi` varchar(200) default NULL,
PRIMARY KEY (`id_provinsi`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

3. Buat tabel kabupaten :
CREATE TABLE `kabupaten` (
`id_kabupaten` int(11) NOT NULL auto_increment,
`id_provinsi` int(11) default NULL,
`nama_kabupaten` varchar(200) default NULL,
PRIMARY KEY (`id_kabupaten`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

B. Langkah2 koneksi ke database :
1. buat file php dengan nama "cndb.php"
2. ketik sintak php di file condb.php sebagai berikut :
<?php
$hostname = 'localhost'; ‪#‎nama‬ server
$database='Regional'; #nama database
$userdb='root'; ‪#‎username‬ to connect db
$passworddb = 'root'; ‪#‎password‬ untuk koneksi ke db

$cndb= mysql_connect($hostname, $userdb, $passworddb);
if (!$cndb) {
echo '<br>'.date('Y-m-d H:i:s').' - [failed] connected to database Regional';
‪#‎mysql_error‬();
}
?>

3. buat modul pemanggilan tabel provinsi dan kabupaten, kita berinama "modul.php" di dalam modul tersebut isi dengan sintak sbb :
<?php
require_once('cndb.php');

function getProvinsi()
{
$sql_rek=mysql_query("select id_provinsi, nama_provinsi from provinsi order by id_provinsi asc");
$getProvinsi= array();
$data = array();
$i=0;
while ($row = mssql_fetch_array($sql_rek)){
$data[$i] = array($row[0], $row[1]);
array_push($getProvinsi, $data[$i]);
$i=$i+1;
}
return $getProvinsi;
}

function getKabupaten()
{
$sql_rek=mysql_query("select id_provinsi, id_kabupaten, nama_kabupaten from kabupaten order by id_kabupaten asc");
$getKabupaten= array();
$data = array();
$i=0;
while ($row = mssql_fetch_array($sql_rek)){
$data[$i] = array($row[0], $row[1], $row[2]);
array_push($getKabupaten, $data[$i]);
$i=$i+1;
}
return $getKabupaten;
}
?>

4. buat file "index.php" sebagai halaman utama isi dengan sintak sbb :
<!DOCTYPE html>
<html>
<head>
<title>Combobox Dinamis</title>
</head>
<body>
<?php
require_once(modul.php');

$Arr_ Provinsi = array();
$Arr_Provinsi = getProvinsi ();

$Arr_ Kabupaten = array();
$Arr_ Kabupaten = getKabupaten ();

?>
<form method="post" action="">
Provinsi: <select name="provinsi" id="provinsi"></select><br /><br />
Kabupaten: <select name="kabupaten" id="kabupaten"></select><br /><br />
<button type="submit">SIMPAN</button>
</form>

<script type="text/javascript">

function getObject(id) {
return document.getElementById(id);
}

var
provinsi = <?php echo json_encode($Arr_ Provinsi ) ?>,
kabupaten = <?php echo json_encode($Arr_ Kabupaten ) ?>,
option = '<option value="0" selected>-- pilih provinsi --</option>',
comboprovinsi = getObject('provinsi'),
combokabupaten = getObject('kabupaten');

for (var i = 0; i < provinsi.length; i++) {
option += '<option value="' + provinsi[i][0] + '">' + provinsi[i][1] + '</option>';
}
comboprovinsi.innerHTML = option;

combokabupaten.innerHTML = '<option value="0">-- pilih kabupaten --</option>';

comboprovinsi.addEventListener('change', function(e) {
var option = '',
selected = this.value;

if (selected == '0') {
combokabupaten.innerHTML = '<option value="0">-- pilih kabupaten --</option>';
return;
}


for (var i = 0; i < kabupaten.length; i++) {
if (kabupaten[i][0] == selected) {
option += '<option value="' + kabupaten[i][1] + '">' + kabupaten[i][2] + '</option>';
}
}
combokabupaten.innerHTML = option;
}, false);

</script>
</body>
</html>

No comments: