|
|
|
การ Select Data แล้วข้อมูลไม่ขึ้น ไม่รู้ว่าเกิดจากอะไร รบกวนช่วยดูโค้ดหน่อยครับ |
|
|
|
|
|
|
|
การ Select Data แล้วข้อมูลไม่ขึ้น ไม่รู้ว่าเกิดจากอะไร รบกวนช่วยดูโค้ดหน่อยครับ
โค้ดในส่วนของ province.ajax.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=UTF-8" );
$province = $_POST[province];
$amphur = $_POST[amphur];
$tumbon = $_POST[tumbon];
$postcode = $_POST[postcode];
$hostname_conn = "localhost";
$username_conn = "root";
$password_conn = "431320436";//
$database_conn = "judgement";
mysql_connect( $hostname_conn , $username_conn , $password_conn ) or die( "เชื่อมต่อฐานข้อมูลไม่ได้" );
mysql_select_db( $database_conn ) or die( "เลือกฐานข้อมูลไม่ได้" ); // เลือกฐานข้อมูล
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client='utf8'");
mysql_query("SET character_set_connection='utf8'");
mysql_query("collation_connection = utf8_unicode_ci");
mysql_query("collation_database = utf8_unicode_ci");
mysql_query("collation_server = utf8_unicode_ci");
//ให้คืนค่าจังหวัดไว้เป็นอันดับแรก
$sql = "SELECT Province_Id,Province_Name FROM province";
$result = mysql_query( $sql );
echo "[{\"province\":\"";
echo "<label for='province'>".iconv("tis-620", "UTF-8", "จังหวัด") ." :</label>";
echo "<select name='province' id='province' onchange='dochange(this)'>";
echo "<option value=''>--".iconv("tis-620", "UTF-8", "กรุณาเลือกจังหวัด") ."--</option>";
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[Province_Id];
$name = $fetcharr[Province_Name];
echo "<option value='$id'";
if ( $province == $id ) //เลือกจังหวัดที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
echo "</select>\",\"amphur\":\"";
$_SESSION['amphur'] =$_GET["amphur"];
echo "<label for='amphur'>".iconv("tis-620", "UTF-8", "อำเภอ/เขต") ." :</label>";
echo "<select name='amphur' id='amphur' onchange='dochange(this)'>";
//ถ้ามีการเลือกจังหวัดมาแล้วให้แสดงอำเภอต่อ
if ( $province != "0" && $province != "" )
{
echo "<option value=''>--".iconv("tis-620", "UTF-8", "กรุณาเลือกอำเภอ") ." --</option>";
$sql = "SELECT amphur_id, amphur_name FROM amphur WHERE provinceID='$province'";
$result = mysql_query( $sql );
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[amphur_id];
$name = $fetcharr[amphur_name];
echo "<option value='$id'";
if ( $amphur == $id ) //เลือกอำเภอที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
}
else
{
echo "<option value=''>--------------</option>";
};
echo "</select>\",\"tumbon\":\"";
echo "<label for='tumbon'>".iconv("tis-620", "UTF-8", "ตำบล/แขวง") ." :</label>";
echo "<select name='tumbon' id='tumbon'>";
//ถ้ามีการเลือกอำเภอมาแล้วให้แสดงตำบลต่อ
if ( $amphur != "0" && $amphur != "" )
{
echo "<option value=''>--".iconv("tis-620", "UTF-8", "กรุณาเลือกตำบล") ."--</option>";
$sql = "SELECT tumbon_id, tumbon_name FROM tumbon WHERE amphurID=$amphur";
$result = mysql_query( $sql );
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[tumbon_id];
$name = $fetcharr[tumbon_name];
echo "<option value='$id'";
if ( $tumbon == $id ) //เลือกตำบลที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
}
else
{
echo "<option value=''>--------------</option>";
};
//echo "</select>\",\"postcode\":\"";
echo "<label for='postcode'>".iconv("tis-620", "UTF-8", "รหัสไปรษณีย์") ." :</label>";
echo "<select name='postcode' id='postcode'>";
//ถ้ามีการเลือกอำเภอมาแล้วให้แสดงรหัสไปรษณีย์
if ( $amphur != "0" && $amphur != "" )
{
echo "<option value=''>--".iconv("tis-620", "UTF-8", "กรุณาเลือกรหัสไปรษณีย์") ."--</option>";
$sql = "SELECT amphur_id,postcode FROM amphur WHERE amphur_id=$amphur";
$result = mysql_query( $sql );
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[amphur_id];
$name = $fetcharr[postcode];
echo "<option value='$id'";
if ( $postcode == $id ) //เลือกรหัสไปรษณีย์ที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
}
else
{
echo "<option value=''>--------------</option>";
};
echo "</select>\"}]";
mysql_close();
?>
ผมส่งข้อมูลไปอีกหน้าหนึ่ง ข้อมูลโชว์ถูกต้องหมด ยกเว้น รหัสไปรษณีย์ ที่ยังไม่ถูกต้อง
โค้ดในส่วนนี้คือ
<td bgcolor="#eaf8ff" class="active style10 style15"> <? echo '<span id="provinceDiv">';
echo "<label for=\"province\">จังหวัด :</label> <select name=\"province\" id=\"province\" onchange=\"dochange('province')\">\n";
echo "<option value=\"$data[Province_Id]\">--------------</option> \n" ;
echo "</select></span>\n";
echo '<span id="amphurDiv">';
echo "<label for=\"amphur\"> อำเภอ/เขต:</label><select name=\"amphur\" id=\"amphur\" onchange=\"dochange('amphur')\">\n";
echo "<option value=\"$data[amphur_id]\">--------------</option> \n" ;
echo "</select></span>\n";
echo '<span id="tumbonDiv">';
echo "<label for=\"tumbon\">ตำบล/แขวง :</label><select name=\"tumbon\" id=\"tumbon\" onchange=\"dochange('tumbon')\">\n";
echo "<option value=\"$data[tumbon_id]\">--------------</option> \n" ;
echo "</select></span>\n";
echo '<span id="postcodeDiv">';
echo "<label for=\"postcode\">รหัสไปรษณีย์ :</label><select name=\"postcode\" id=\"postcode\">\n";
echo "<option value=\"$data[postcode]\">--------------</option> \n" ;
echo "</select></span>\n";
?></td>
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2011-01-30 12:12:20 |
By :
ninja436 |
View :
1116 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (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=UTF-8" );
$province = $_POST[province];
$amphur = $_POST[amphur];
$tumbon = $_POST[tumbon];
$postcode = $_POST[postcode];
$hostname_conn = "localhost";
$username_conn = "root";
$password_conn = "431320436";//
$database_conn = "judgement";
mysql_connect( $hostname_conn , $username_conn , $password_conn ) or die( "เชื่อมต่อฐานข้อมูลไม่ได้" );
mysql_select_db( $database_conn ) or die( "เลือกฐานข้อมูลไม่ได้" ); // เลือกฐานข้อมูล
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client='utf8'");
mysql_query("SET character_set_connection='utf8'");
mysql_query("collation_connection = utf8_unicode_ci");
mysql_query("collation_database = utf8_unicode_ci");
mysql_query("collation_server = utf8_unicode_ci");
//ให้คืนค่าจังหวัดไว้เป็นอันดับแรก
$sql = "SELECT Province_Id,Province_Name FROM province";
$result = mysql_query( $sql );
echo "[{\"province\":\"";
echo "<label for='province'>".iconv("tis-620", "UTF-8", "จังหวัด") ." :</label>";
echo "<select name='province' id='province' onchange='dochange(this)'>";
echo "<option value=''>--".iconv("tis-620", "UTF-8", "กรุณาเลือกจังหวัด") ."--</option>";
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[Province_Id];
$name = $fetcharr[Province_Name];
echo "<option value='$id'";
if ( $province == $id ) //เลือกจังหวัดที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
echo "</select>\",\"amphur\":\"";
$_SESSION['amphur'] =$_GET["amphur"];
echo "<label for='amphur'>".iconv("tis-620", "UTF-8", "อำเภอ/เขต") ." :</label>";
echo "<select name='amphur' id='amphur' onchange='dochange(this)'>";
//ถ้ามีการเลือกจังหวัดมาแล้วให้แสดงอำเภอต่อ
if ( $province != "0" && $province != "" )
{
echo "<option value=''>--".iconv("tis-620", "UTF-8", "กรุณาเลือกอำเภอ") ." --</option>";
$sql = "SELECT amphur_id, amphur_name FROM amphur WHERE provinceID='$province'";
$result = mysql_query( $sql );
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[amphur_id];
$name = $fetcharr[amphur_name];
echo "<option value='$id'";
if ( $amphur == $id ) //เลือกอำเภอที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
}
else
{
echo "<option value=''>--------------</option>";
};
echo "</select>\",\"tumbon\":\"";
echo "<label for='tumbon'>".iconv("tis-620", "UTF-8", "ตำบล/แขวง") ." :</label>";
echo "<select name='tumbon' id='tumbon'>";
//ถ้ามีการเลือกอำเภอมาแล้วให้แสดงตำบลต่อ
if ( $amphur != "0" && $amphur != "" )
{
echo "<option value=''>--".iconv("tis-620", "UTF-8", "กรุณาเลือกตำบล") ."--</option>";
$sql = "SELECT tumbon_id, tumbon_name FROM tumbon WHERE amphurID=$amphur";
$result = mysql_query( $sql );
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[tumbon_id];
$name = $fetcharr[tumbon_name];
echo "<option value='$id'";
if ( $tumbon == $id ) //เลือกตำบลที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
}
else
{
echo "<option value=''>--------------</option>";
};
//echo "</select>\",\"postcode\":\"";
echo "<label for='postcode'>".iconv("tis-620", "UTF-8", "รหัสไปรษณีย์") ." :</label>";
echo "<select name='postcode' id='postcode'>";
//ถ้ามีการเลือกอำเภอมาแล้วให้แสดงรหัสไปรษณีย์
if ( $amphur != "0" && $amphur != "" )
{
echo "<option value=''>--".iconv("tis-620", "UTF-8", "กรุณาเลือกรหัสไปรษณีย์") ."--</option>";
$sql = "SELECT amphur_id,postcode FROM amphur WHERE amphur_id=$amphur";
$result = mysql_query( $sql );
while( $fetcharr = mysql_fetch_array( $result ) )
{
$id = $fetcharr[amphur_id];
$name = $fetcharr[postcode];
echo "<option value='$id'";
if ( $postcode == $id ) //เลือกรหัสไปรษณีย์ที่เลือกไว้
{
echo " selected='selected'";
};
echo ">$name</option>";
};
}
else
{
echo "<option value=''>--------------</option>";
};
echo "</select>\"}]";
mysql_close();
?>
บรรทัดที่ 114 เป็น amphur_id เหรอครับ
Code (PHP)
$id = $fetcharr[amphur_id];
|
|
|
|
|
Date :
2011-01-30 13:23:01 |
By :
kenessar |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โครงสร้างตาราง amphur มันเป็นยังไงเหรอครับ
|
|
|
|
|
Date :
2011-01-30 13:25:18 |
By :
kenessar |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โครงสร้างครับ
amphur_id,province_id,amphur_name,postcode
ครับผม
|
|
|
|
|
Date :
2011-01-30 14:50:25 |
By :
ninja436 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมว่าปัญหาอาจจะเกิดมาจากฟังก์ชั่น dochange(this) นะครับ ลองตรวจสอบดูว่าในการส่งค่ามาแต่ล่ะครั้งมีการส่งค่ามาครบ
ตัวอย่างปัญหา
ครั้งแรก ไม่จำเป็นต้องส่งค่าอะไรมา เพื่อเลือกจังหวัด
ครั้งสอง เมื่อเลือกจังหวัดต้องส่งค่ารหัสจังหวัดกลับมา เพื่อแสดงรายชื่ออำเภอ
ครั้งสาม ต้องส่งมาทั้งจังหวัดและอำเภอ เพื่อแสดงรายชื่อตำบล (หากมาแต่จังหวัด ก็จะเข้าเงื่อนไขครั้งที่ 2 แทน แต่ถ้าดันมาแต่อำเภออาจจะขึ้นรายชื่อตำบลหรือไม่ขึ้นเลย ขึ้นอยู่กับคำสั่งในการเรียกรายชื่อ)
|
|
|
|
|
Date :
2011-01-30 16:46:57 |
By :
zankumuro |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|