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>
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: