พี่นิคช่วยแก้ไขโค้ดให้หน่อยครับ แก้ไขเองไม่ถูก

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา พี่นิคช่วยแก้ไขโค้ดให้หน่อยครับ แก้ไขเองไม่ถูก

พี่นิคช่วยแก้ไขโค้ดให้หน่อยครับ แก้ไขเองไม่ถูก

 เลือกจังหวัด > อำเภอ > ตำบล

ตอนสมัครสมาชิกมันก็เลือกได้ปกติใช้งานได้ครับ

แต่คราวนี้ พอล็อกอินเข้าไป แก้ไขข้อมูลส่วนตัว แล้วดึงข้อมูลต่างๆตาม $_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 + "&amphur=" + 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>"}]";

 

ผมรบกวนพี่หน่อยนะครับจำเป็นต้องใช้จริงๆครับพี่

ขอบคุณม๊ากมากครับ



Cpuhost 18-10-2010 01:26:26

คำแนะนำ และการใช้งาน

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


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1

 ลืมเอารูปภาพให้ดูครับ



cpuhost 18-10-2010 01:27
 ความคิดเห็นที่ 2

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

อำเภอ ก็ query ตามเงื่อนไขจังหวัดที่เก็บในฐานข้อมูล ถ้า id ตรงกัน ก็ให้กำหนด selected 
ตำบลก็ทำเหมือนกับอำเภอ


Ninenik 18-10-2010
 ความคิดเห็นที่ 3

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

ประกาศตัวแปรผิด

ขอบคุณมากครับพี่



cpuhost 18-10-2010 22:14
 ความคิดเห็นที่ 4

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

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



Pickza 19-10-2010 16:16
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ