|
|
|
list menu ส่งค่าที่อยู่ในฟิล id คือผมได้นำ list menu จังหวัด-->อำเภอ-->ตำบล จากเว็บไปประยุกต์ทำเป็นฟอร์มสมัครสมาชิกครับ |
|
|
|
|
|
|
|
ก็เปลี่ยน value จาก id เป็นค่าของ field name ครับ
|
|
|
|
|
Date :
2010-02-28 10:06:05 |
By :
io |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
khana.php
<?
header( "Expires: Sat, 1 Jan 2005 00:00:00 GMT" );
header( "Last-Modified: ".gmdate( "D, d M Y H:i:s" )."GMT" );
header( "Cache-Control: no-cache, must-revalidate" );
header( "Pragma: no-cache" );
header( "content-type: application/x-javascript; charset=TIS-620" );
$khana = $_POST[khana];
$program = $_POST[program];
$hostname_conn = "localhost";
$username_conn = "xxxxxxxxxxx";
$password_conn = "xxxxxxxxxxx";
$database_conn = "xxxxxxxxxxxx";
mysql_connect( $hostname_conn , $username_conn , $password_conn ) or die( "เชื่อมต่อฐานข้อมูลไม่ได้" );
mysql_select_db( $database_conn ) or die( "เลือกฐานข้อมูลไม่ได้" ); // เลือกฐานข้อมูล
//ให้คืนค่าคณะไว้เป็นอันดับแรก
$sql = "SELECT id, name FROM khana";
$result = mysql_query( $sql );
echo "[{\"khana\":\"";
echo "<label for='khana'>คณะ :</label>";
echo "<select name='khana' id='khana' onchange='dochange(this)'>";
echo "<option value='0'>--กรุณาเลือกคณะ--</option>";
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[id];
$name = $fetcharr[name];
echo "<option value='$id'";
if ( $khana == $id ) //เลือกคณะที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
echo "</select>\",\"program\":\"";
echo "<label for='program'>สาขา :</label>";
echo "<select name='program' id='program' onchange='dochange(this)'>";
//ถ้ามีการเลือกจังหวัดมาแล้วให้แสดงอำเภอต่อ
if ( $khana != "0" && $khana != "" )
{
echo "<option value='0'>--กรุณาเลือกสาขา--</option>";
$sql = "SELECT id, name FROM program WHERE khanaID='$khana'";
$result = mysql_query( $sql );
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[id];
$name = $fetcharr[name];
echo "<option value='$id'";
if ( $program == $id ) //เลือกสาขาที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
}
else
{
echo "<option value=''>--------------</option>";
};
echo "</select>\"}]";
mysql_close();
?>
index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>จังหวัด-อำเภอ-ตำบล ด้วย AJAX</title>
<meta http-equiv="Content-Type" content="text/html; charset=TIS-620" />
<style type="text/css">
* {
font-family:Tahoma;
font-size:8pt;
}
</style>
</head>
<body>
<?
//ค่าที่ได้รับมาจากการ Submit
$khana = $_POST[khana];
$program = $_POST[program];
if ( !empty( $program ) )
{
echo "<br /><br />ค่าที่ได้จากการ Submit คือ :<br /<br />คณะที่เลือก : $khana<br />สาขาที่เลือก : $program<br /><br /><br />\n";
};
echo "<form action=\"?\" method=\"post\">\n";
echo '<span id="khanaDiv">';
echo "<label for=\"khana\">คณะ :</label><select name=\"khana\" id=\"khana\" onchange=\"dochange('khana')\">\n";
echo "<option value=\"$khana\">--------------</option> \n" ;
echo "</select></span>\n";
echo '<span id="programDiv">';
echo "<label for=\"program\">สาขา :</label><select name=\"program\" id=\"program\" onchange=\"dochange('program')\">\n";
echo "<option value=\"$program\">--------------</option> \n" ;
echo "</select></span>\n";
echo "<br /><br /><br /><input type=\"submit\" value=\"ส่ง\" name=\"submit\" />\n";
echo "</form>\n";
?>
<script type="text/javascript">
//AJAX
function Inint_AJAX()
{
try
{
return new ActiveXObject( "Msxml2.XMLHTTP" );
}
catch ( e )
{
};
try
{
return new ActiveXObject( "Microsoft.XMLHTTP" );
}
catch ( e )
{
};
try
{
return new XMLHttpRequest();
}
catch ( e )
{
};
alert( "XMLHttpRequest not supported" );
return null;
};
function dochange( obj )
{
var req = Inint_AJAX();
var khana = document.getElementById( 'khana' ).value;
if ( obj && obj.name == 'khana' ) //เมื่อทำการเลือกที่คณะมา ให้เคลียร์ค่า -
{
var program = "";
}
else //เลือกรายการอื่น
{
var program = document.getElementById( 'program' ).value;
};
var data = "khana=" + khana + "&program=" + program;
req.onreadystatechange = function()
{
if ( req.readyState == 4 )
{
if ( req.status == 200 )
{
var datas = eval( '(' + req.responseText + ')' ); // JSON
document.getElementById( 'khanaDiv' ).innerHTML = datas[0].khana;
document.getElementById( 'programDiv' ).innerHTML = datas[0].program;
};
};
};
req.open( "post" , "khana.php" , true ); //สร้าง connection
req.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" ); // set Header
req.send( data ); //ส่งค่า
};
//โหลดครั้งแรก
window.onload = function()
{
dochange( '' );
};
</script>
</body>
</html>
เปลี่ยนส่วนไหนหรอคับ
|
|
|
|
|
Date :
2010-02-28 10:40:44 |
By :
hizeddddd |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองรันดูครับว่าติดหรือเปล่า
Code (PHP)
echo "<option value='0'>--กรุณาเลือกคณะ--</option>";
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[id];
$name = $fetcharr[name];
echo "<option value='$name'";
if ( $khana == $name) //เลือกคณะที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
Code (PHP)
echo "<label for='program'>สาขา :</label>";
echo "<select name='program' id='program' onchange='dochange(this)'>";
//ถ้ามีการเลือกจังหวัดมาแล้วให้แสดงอำเภอต่อ
if ( $khana != "0" && $khana != "" )
{
echo "<option value='0'>--กรุณาเลือกสาขา--</option>";
$sql = "SELECT id, name FROM program WHERE khanaID='$khana'";
$result = mysql_query( $sql );
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[id];
$name = $fetcharr[name];
echo "<option value='$name'";
if ( $program == $name ) //เลือกสาขาที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
}
|
|
|
|
|
Date :
2010-02-28 11:29:01 |
By :
io |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังไม่ได้เลยอ่าคับ
ข้อมูลไม่เข้าเลยคับ
|
|
|
|
|
Date :
2010-02-28 12:28:56 |
By :
hizeddddd |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
index.php
Code (PHP)
//ค่าที่ได้รับมาจากการ Submit
$khana = $_POST[khana];
$program = $_POST[program];
ลอง echo ดูครับว่ามีค่า $POST ส่งออกมาหรือเปล่า
echo $khana;
echo $program;
|
|
|
|
|
Date :
2010-02-28 13:04:17 |
By :
io |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขึ้นคับเป็นค่าของ id
|
|
|
|
|
Date :
2010-02-28 13:51:39 |
By :
hizeddddd |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
echo "<label for='khana'>คณะ :</label>";
echo "<select name='khana' id='khana' onchange='dochange(this)'>";
echo "<option value='0'>--กรุณาเลือกคณะ--</option>";
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[id];
$name = $fetcharr[name];
echo "<option value='$name'";
if ( $khana == $name ) //เลือกคณะที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
Code (PHP)
echo "<label for='program'>สาขา :</label>";
echo "<select name='program' id='program' onchange='dochange(this)'>";
//ถ้ามีการเลือกจังหวัดมาแล้วให้แสดงอำเภอต่อ
if ( $khana != "0" && $khana != "" )
{
echo "<option value='0'>--กรุณาเลือกสาขา--</option>";
$sql = "SELECT id, name FROM program WHERE khanaID='$khana'";
$result = mysql_query( $sql );
while( $fetcharr = mysql_fetch_array( $result ) )
{
$programId = $fetcharr[id];
$programName = $fetcharr[name];
echo "<option value='$programName '";
if ( $program == $programName) //เลือกสาขาที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$programName</option>";
};
}
******ที่ database table program.khanaID ต้อง refer กับ table khana.name นะครับเพราะค่าที่ส่งไปกับ url post เป็นค่าของ table khana.name
|
|
|
|
|
Date :
2010-02-28 15:33:01 |
By :
io |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังไม่ได้คับ
พอเลือกคณะแล้วสาขาไม่ขึ้นคับ
ถ้าไม่ได้ก้อไม่เปนไรคับ
ขอบคุณมากๆคับ
|
|
|
|
|
Date :
2010-02-28 19:13:02 |
By :
hizeddddd |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|