พี่นิคช่วยแก้ไขโค้ดให้หน่อยครับ แก้ไขเองไม่ถูก
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา พี่นิคช่วยแก้ไขโค้ดให้หน่อยครับ แก้ไขเองไม่ถูก
เลือกจังหวัด > อำเภอ > ตำบล
ตอนสมัครสมาชิกมันก็เลือกได้ปกติใช้งานได้ครับ
แต่คราวนี้ พอล็อกอินเข้าไป แก้ไขข้อมูลส่วนตัว แล้วดึงข้อมูลต่างๆตาม $_SESSTION[id_member];
้ข้อมูลทุกอย่างมาหมดครับ ติดตรง list box จังหวัด อำเภอ ตำบล ไม่รู้ว่าจะส่งข้อมูลเข้า ajax ยังไงครับพี่
อันนี้ select box นะครับ
จังหวัด
<select style="width:200px;" name="province" id="province" onChange="dochange('province');">
<option value="<?=$province?>" <? if($sql_member[province]==$province){echo"selected";}?>>--------------------------</option>
</select>
อำเภอ
<select style="width:200px;" name="amphur" id="amphur" onChange="dochange('amphur');">
<option value="<?=$amphur?>">-------------------------------------------</option>
</select>
ตำบล
<select style="width:200px;" name="tumbon" id="tumbon">
<option value="<?=$tumbon?>">-------------------------------------------</option>
</select>
คำสั่ง ajax ครับ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | 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 province = document.getElementById( 'province' ).value; var tumbon = document.getElementById( 'tumbon' ).value; if ( obj && obj.name == 'province' ) //เมื่อทำการเลือที่จังหวัดมา ให้เคลียร์ค่าอำเภอ { var amphur = "" ; } else //เลือกรายการอื่น { var amphur = document.getElementById( 'amphur' ).value; }; var data = "province=" + province + "&hur=" + amphur + "&tumbon=" + tumbon; req.onreadystatechange = function () { if ( req.readyState == 4 ) { if ( req.status == 200 ) { var datas = eval( '(' + req.responseText + ')' ); // JSON document.getElementById( 'provinceDiv' ).innerHTML = datas[0].province; document.getElementById( 'amphurDiv' ).innerHTML = datas[0].amphur; document.getElementById( 'tumbonDiv' ).innerHTML = datas[0].tumbon; }; }; }; req.open( "post" , "province.php" , true ); //สร้าง connection req.setRequestHeader( "Content-Type" , "application/x-www-form-urlencoded" ); // set Header req.send( data ); //ส่งค่า }; //โหลดครั้งแรก window.onload = function () { dochange( '' ); }; |
ไฟล์ province.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | 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" ); header( "content-type: application/x-javascript; charset=utf-8" ); $province = $_POST [province]; $amphur = $_POST [amphur]; $tumbon = $_POST [tumbon]; include ( '../conf/connect.php' ); //ให้คืนค่าจังหวัดไว้เป็นอันดับแรก $sql = "SELECT id, name FROM province" ; $result = mysql_query( $sql ); echo "[{" province ":" "; echo "<select style='width:200px;' name='province' id='province' 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 ( $province == $id ) //เลือกจังหวัดที่เลือกไว้ { echo " selected='selected'" ; }; echo ">$name</option>" ; }; echo "</select>" , "amphur" : "" ; echo "<select style='width:200px;' name='amphur' id='amphur' onchange='dochange(this)'>" ; //ถ้ามีการเลือกจังหวัดมาแล้วให้แสดงอำเภอต่อ if ( $province != "0" && $province != "" ) { echo "<option value='0'>----------กรุณาเลือกอำเภอ----------</option>" ; $sql = "SELECT id, name FROM amphur WHERE provinceID='$province'" ; $result = mysql_query( $sql ); while ( $fetcharr = mysql_fetch_array( $result ) ) { $id = $fetcharr [id]; $name = $fetcharr [name]; echo "<option value='$id'" ; if ( $amphur == $id ) //เลือกอำเภอที่เลือกไว้ { echo " selected='selected'" ; }; echo ">$name</option>" ; }; } else { echo "<option value=''>-------------------------------------------</option>" ; }; echo "</select>" , "tumbon" : "" ; echo "<select style='width:200px;' name='tumbon' id='tumbon'>" ; //ถ้ามีการเลือกอำเภอมาแล้วให้แสดงตำบลต่อ if ( $amphur != "0" && $amphur != "" ) { echo "<option value='0'>----------กรุณาเลือกตำบล----------</option>" ; $sql = "SELECT id, name FROM tumbon WHERE amphurID=$amphur" ; $result = mysql_query( $sql ); while ( $fetcharr = mysql_fetch_array( $result ) ) { $id = $fetcharr [id]; $name = $fetcharr [name]; echo "<option value='$id'" ; if ( $tumbon == $id ) //เลือกตำบลที่เลือกไว้ { echo " selected='selected'" ; }; echo ">$name</option>" ; }; } else { echo "<option value=''>-------------------------------------------</option>" ; }; echo "</select>" }]"; |
ผมรบกวนพี่หน่อยนะครับจำเป็นต้องใช้จริงๆครับพี่
ขอบคุณม๊ากมากครับ

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
ลืมเอารูปภาพให้ดูครับ

ตอนแก้ไข ก็ query ข้อมูลตามที่เก็บมาแสดงเลย

โหพี่ ผมเรียกใช้ตัวแปรผิดแก้ไขจน งง พอมานั่งพักสายตาแล้วเริ่มไล่โค้ดใหม่ เจอเลยเต็มๆ
ประกาศตัวแปรผิด
ขอบคุณมากครับพี่

เคยเจอเหมือนกันคับ ที่จดจ้องอะไรนานๆ แล้วทำมันไม่ได้
พอหันไปทำอย่างอื่นที่มันแก้เครียดแล้วกลับมาดูมันอีกรอบก็คิดออกหรือว่าแก้ไขได้
