ขอสอบถามเกี่ยกกับ auto จังหวัด โดยใช้ Ajax
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ขอสอบถามเกี่ยกกับ auto จังหวัด โดยใช้ Ajax
ขอสอบถามเกี่ยกกับ auto จังหวัด โดยใช้ Ajax
Copy
คือได้โค้ดนี้มาค่ะ มันใช้ได้เลยค่ะ แต่สงสัยว่าทำไมรหัสไปรษณีย์มันถึงขึ้นซ้ำ อย่างเช่น จังหวัด สมุทรสาคร อำเภอ กระทุ่มแบน ตำบล อ้อมน้อย 74130 แต่มันกลับมีให้เลือก 74130 กับ 74110 ประมาน 10 อันได้ค่ะ ไม่ทราบเป็นที่เพราะอะไร งมหามาหลายวันแล้วค่ะ
อันนี้คือโค้ดส่วน PHP ค่ะ
อันนี้คือโค้ดในส่วนของ ajax.js ค่ะ
อันนี้คือ Database จากตาราง Zipcode ค่ะ
อันนี้คือโค้ดส่วน PHP ค่ะ
<?php require("mysql2json.class.php"); $hostname_connection = "localhost"; $database_connection = "crew35_1bigsea"; $username_connection = "crew35_1bigsea"; $password_connection = "1bigseA35"; $connection = mysql_connect($hostname_connection, $username_connection, $password_connection) or trigger_error(mysql_error(),E_USER_ERROR); mysql_query("SET character_set_results=utf8"); mysql_query("SET character_set_client=utf8"); mysql_query("SET character_set_connection=utf8"); mysql_select_db($database_connection, $connection); $ID=$_GET[ID]; $type=$_GET[TYPE]; if($type=='Province'){ $query="SELECT atp_id,atp_name_th FROM addr_thailand_provinces"; }else if($type=='Area') { $query="SELECT ata_id,ata_name_th FROM addr_thailand_areas WHERE ata_fk_atp_id='".$ID."'"; } else if($type=='District'){ $query="SELECT atd_id,atd_name_th FROM addr_thailand_districts WHERE atd_fk_ata_id='".$ID."'"; } else if($type=='Postcode'){ $query="SELECT atz_code FROM addr_thailand_zipcodes WHERE atz_fk_ata_id='".$ID."'"; } $result=mysql_query($query,$connection); $num=mysql_affected_rows(); $json=new mysql2json; $data=$json->getJSON($result,$num); echo $data; ?>
อันนี้คือโค้ดในส่วนของ ajax.js ค่ะ
// JavaScript Document $(document).ready(function(){ // ส่วนของจังหวัดเมื่อมีการเปลี่ยนแปลง $("#Province").change(function(){ $("#District").empty();//ล้างข้อมูล $("#Postcode").empty();//ล้างข้อมูล $("#DisID").val("");//ล้างข้อมูล $("#SubID").val("");//ล้างข้อมูล $("#PostID").val("");//ล้างข้อมูล $.ajax({ url: "getdata.php",//ที่อยู่ของไฟล์เป้าหมาย global: false, type: "GET",//รูปแบบข้อมูลที่จะส่ง data: ({ID : $(this).val(),TYPE : "Area"}), //ข้อมูลที่ส่ง { ชื่อตัวแปร : ค่าตัวแปร } dataType: "JSON", //รูปแบบข้อมูลที่ส่งกลับ xml,script,json,jsonp,text async:false, success: function(jd) { //แสดงข้อมูลเมื่อทำงานเสร็จ โดยใช้ each ของ jQuery var opt="<option value="0" selected="selected">---เลือกอำเภอ---</option>"; $.each(jd, function(key, val){ opt +="<option value='"+ val["ata_id"] +"'>"+val["ata_name_th"]+"</option>" }); $("#Area").html( opt );//เพิ่มค่าลงใน Select ของอำเภอ } }); $("#ProID").val($(this).val()); //กำหนดค่า ID ของจังหวัดที่เลือกให้กับ Textfield ของจังหวัด }); /////////////// $("#Province1").change(function(){ $("#District1").empty();//ล้างข้อมูล $("#Postcode1").empty();//ล้างข้อมูล $("#DisID").val("");//ล้างข้อมูล $("#SubID").val("");//ล้างข้อมูล $("#PostID").val("");//ล้างข้อมูล $.ajax({ url: "getdata.php",//ที่อยู่ของไฟล์เป้าหมาย global: false, type: "GET",//รูปแบบข้อมูลที่จะส่ง data: ({ID : $(this).val(),TYPE : "Area"}), //ข้อมูลที่ส่ง { ชื่อตัวแปร : ค่าตัวแปร } dataType: "JSON", //รูปแบบข้อมูลที่ส่งกลับ xml,script,json,jsonp,text async:false, success: function(jd) { //แสดงข้อมูลเมื่อทำงานเสร็จ โดยใช้ each ของ jQuery var opt="<option value="0" selected="selected">---เลือกอำเภอ---</option>"; $.each(jd, function(key, val){ opt +="<option value='"+ val["ata_id"] +"'>"+val["ata_name_th"]+"</option>" }); $("#Area1").html( opt );//เพิ่มค่าลงใน Select ของอำเภอ } }); $("#ProID").val($(this).val()); //กำหนดค่า ID ของจังหวัดที่เลือกให้กับ Textfield ของจังหวัด }); // ส่วนของอำเภอเมื่อมีการเปลี่ยนแปลง $("#Area").change(function(){ $("#District").empty(); $("#Postcode").empty(); $("#SubID").val(""); $("#PostID").val(""); $.ajax({ url: "getdata.php", global: false, type: "GET", data: ({ID : $(this).val(),TYPE : "District"}), dataType: "JSON", async:false, success: function(jd) { var opt="<option value="0" selected="selected">---เลือกตำบล---</option>"; $.each(jd, function(key, val){ opt +="<option value='"+ val["atd_id"] +"'>"+val["atd_name_th"]+"</option>" }); $("#District").html( opt ); } }); $("#DisID").val($(this).val()); }); ///////////// $("#Area1").change(function(){ $("#District1").empty(); $("#Postcode1").empty(); $("#SubID").val(""); $("#PostID").val(""); $.ajax({ url: "getdata.php", global: false, type: "GET", data: ({ID : $(this).val(),TYPE : "District"}), dataType: "JSON", async:false, success: function(jd) { var opt="<option value="0" selected="selected">---เลือกตำบล---</option>"; $.each(jd, function(key, val){ opt +="<option value='"+ val["atd_id"] +"'>"+val["atd_name_th"]+"</option>" }); $("#District1").html( opt ); } }); $("#DisID").val($(this).val()); }); // ส่วนของตำบลเมื่อมีการเปลี่ยนแปลง $("#District").change(function(){ $("#PostID").val(""); $.ajax({ url: "getdata.php", type: "GET", data: ({ID : $("#Area").val(),TYPE : "Postcode"}), dataType: "JSON", success: function(jd) { var opt="<option value="0" selected="selected">---เลือกรหัสไปรษณีย์---</option>"; $.each(jd, function(key, val){ opt +="<option value='"+ val["atz_code"] +"'>"+val["atz_code"]+"</option>" }); $("#Postcode").html( opt ); } }); $("#SubID").val($("#District").val()); }); // ส่วนของรหัสไปรษณีย์เมื่อมีการเปลี่ยนแปลง $("#Postcode").change(function(){ $("#PostID").val($(this).val()); }); //////////// $("#District1").change(function(){ $("#PostID").val(""); $.ajax({ url: "getdata.php", type: "GET", data: ({ID : $("#Area1").val(),TYPE : "Postcode"}), dataType: "JSON", success: function(jd) { var opt="<option value="0" selected="selected">---เลือกรหัสไปรษณีย์---</option>"; $.each(jd, function(key, val){ opt +="<option value='"+ val["atz_code"] +"'>"+val["atz_code"]+"</option>" }); $("#Postcode1").html( opt ); } }); $("#SubID").val($("#District1").val()); }); // ส่วนของรหัสไปรษณีย์เมื่อมีการเปลี่ยนแปลง $("#Postcode1").change(function(){ $("#PostID").val($(this).val()); }); }); //ส่วนของ function เพื่อเพิ่มข้อมูลจังหวัดเข้าไปก่อน function Add(){ $.ajax({ url: "getdata.php", global: false, type: "GET", data: ({TYPE : "Province"}), dataType: "JSON", async:false, success: function(jd) { var opt="<option value="0" selected="selected">---เลือกจังหวัด---</option>"; $.each(jd, function(key, val){ opt +="<option value='"+ val["atp_id"] +"'>"+val["atp_name_th"]+"</option>" }); $("#Province").html( opt ); } }); /////////// $.ajax({ url: "getdata.php", global: false, type: "GET", data: ({TYPE : "Province"}), dataType: "JSON", async:false, success: function(jd) { var opt="<option value="0" selected="selected">---เลือกจังหวัด---</option>"; $.each(jd, function(key, val){ opt +="<option value='"+ val["atp_id"] +"'>"+val["atp_name_th"]+"</option>" }); $("#Province1").html( opt ); } }); }
อันนี้คือ Database จากตาราง Zipcode ค่ะ
Chickenkook
15-10-2015
11:32:40
คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา
โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ