saya ade buat form yg mana ada satu field tu pilih negeri ianya akan paparkan daerah di negeri tu sahaja. selepas tu saya insert dalam dbase mcm biasa. mende tu settle dah!! Masalah sekarang bila saya nak buat update, mcmane nak view kat form tu default negeri dan daerah yg kita dah pilih sebelum ni dari dbase? coding kat bawah ni coding ajax. so saya xpandai sangat. untuk field lain yg retrieve data dari dbase ok je. yg guna ajax ni ssh sket.
tlg plzzz kot2 ade sesaper yg teror
1) form.php
kedua-dua file form.php dan proses.php ni memerlukan file db.php yg membuat sambungan ke database.
tlg plzzz kot2 ade sesaper yg teror
1) form.php
- Code:
<?php
require_once "db.php";
?>
<!doctype html public "-//w3c//dtd html 3.2//en">
<html>
<head>
<title>Contoh multiple drop down list bagi negeri dan daerah dengan menggunakan Ajax</title>
<script type="text/javascript" src="ajax.js"></script>
</head>
<body>
<form method="post" name="form1">
<table border="0" cellpadding="0" cellspacing="0" width="60%">
<tbody>
<tr>
<td width="50">Negeri:</td>
<td width="100">
<select name="negeri" onchange="daerahf(this.value)">
<?php
$query = @mysql_query("SELECT * FROM category");
if (mysql_num_rows($query) > 0) {
echo '<option value="">--Pilih Negeri--</option>';
while($row = mysql_fetch_array($query)) {
echo "<option value='".$row['cat_id']."'>".$row['category']."</option><br />";
}
}
?>
</select>
</td>
</tr>
<tr>
<td width="50">Daerah:</td>
<td>
<p id="idDaerah">
<select name="daerah">
<option>Pilih negeri dahulu</option>
</select>
</td>
</tr>
</tbody>
</table>
</form>
</html>
- Code:
<?php
require_once "db.php";
if (isset($_GET['daerah']) && $_GET['daerah'] != "") {
echo '<select name="daerah">';
$query = @mysql_query("SELECT * FROM subcategory WHERE cat_id=".$_GET['daerah']);
if (mysql_num_rows($query) > 0) {
while($row = mysql_fetch_array($query)) {
echo "<option value='".$row['cat_id']."'>".$row['subcategory']."</option><br />";
}
}
echo '</select>';
} else {
echo '<select name="daerah">';
echo '<option>Pilih negeri dahulu</option>';
echo '</select>';
}
?>
kedua-dua file form.php dan proses.php ni memerlukan file db.php yg membuat sambungan ke database.
- Code:
<?php
$dbHost = 'localhost';
$dbUser = 'root';
$dbPass = '';
$dbName = 'dropdownlist';
$con = dbconnect($dbHost, $dbUser, $dbPass, $dbName);
function dbconnect($dbHost, $dbUser, $dbPass, $dbName) {
$dbConnect = @mysql_connect($dbHost, $dbUser, $dbPass);
$dbSelect = @mysql_select_db($dbName);
if (!$dbConnect) {
die("<div style='font-family:Verdana;font-size:11px;text-align:center;'><b>Tidak dapat membuat sambungan ke server MySQL</b><br />".mysql_errno()." : ".mysql_error()."</div>");
} elseif (!$dbSelect) {
die("<div style='font-family:Verdana;font-size:11px;text-align:center;'><b>Tidak dapat memilih database MySQL</b><br />".mysql_errno()." : ".mysql_error()."</div>");
}
}
?>
- Code:
var xmlHttp
function daerahf(idNegeri) {
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null) {
alert ("Browser tidak menyokong HTTP request")
return
}
var url="proses.php"
url=url+"?daerah="+idNegeri
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
function stateChanged() {
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
document.getElementById("idDaerah").innerHTML=xmlHttp.responseText
}
}
function GetXmlHttpObject() {
var xmlHttp=null;
try {
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
} catch (e) {
//Internet Explorer
try {
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}