Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > สอบถามการจำค่า select เมื่อ edit ข้อมูลจังหวัด แล้วค่า select จังหวัด ไม่จำค่าค่ะ



 

สอบถามการจำค่า select เมื่อ edit ข้อมูลจังหวัด แล้วค่า select จังหวัด ไม่จำค่าค่ะ

 



Topic : 074185



โพสกระทู้ ( 27 )
บทความ ( 0 )



สถานะออฟไลน์




รบกวนผู้รู้ช่วยแนะนำวิธีหน่อยนะค่ะ
ค่าที่มีการ add จังหวัดไปนั้น ลง database ค่ะ แต่เมื่อ edit ค่าที่ insert ลง database ไม่จำค่าที่ select เมื่อมีการ edit ค่ะ
อยากได้การจำค่า select จังหวัดเมื่อ edit จังหวัดแบบนี้ค่ะ
edit


แต่ปัจจุบันค่าที่ select ออกมายังไม่จำค่าเลยค่ะ
edit1


ขอบคุณผู้ที่มาแนะนำและให้ความรู้ทุกๆคนด้วยนะค่ะ



Tag : PHP, MySQL, JavaScript







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-02-20 12:34:34 By : AewTre View : 2381 Reply : 8
 

 

No. 1



โพสกระทู้ ( 27 )
บทความ ( 0 )



สถานะออฟไลน์


หน้า select จังหวัดค่ะ


Code (PHP)
<?php
//ค่าที่ได้รับมาจากการ Submit
$play_province = $_POST[play_province];
$play_amphur = $_POST[play_amphur];
$play_province = $_REQUEST[play_province];
$play_amphur = $_REQUEST[play_amphur];
	echo $_REQUEST[PROVINCE_ID];
	echo '<span id="PROVINCE_ID">';
	echo "<label for=\"play_province\">จังหวัด :</label><select name=\"play_province\" id=\"play_province\" onchange=\"dochange('PROVINCE_ID')\">\n";
	echo "<option value=\"$play_province\">--------------</option> \n";
	echo "</select></span>\n";
	
	echo '<span id="AMPHUR_ID">';
	echo "<label for=\"AMPHUR_ID\">อำเภอ :</label><select name=\"play_amphur\" id=\"play_amphur\" onchange=\"dochange('AMPHUR_ID')\">\n";
	echo "<option value=\"$AMPHUR_ID\"></option> \n";
	echo "</select></span>\n";
	echo"<br/><br/>";

?>
<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 play_province = document.getElementById( 'play_province' ).value;
	//var play_district = document.getElementById( 'play_district' ).value;
	if ( obj && obj.name == 'PROVINCE_ID' ) //เมื่อทำการเลือที่จังหวัดมา ให้เคลียร์ค่าอำเภอ
	{
		var AMPHUR_ID = "";
	}
	else //เลือกรายการอื่น
	{
		var play_amphur = document.getElementById( 'play_amphur' ).value;
	};
	var data = "play_province=" + play_province + "&play_amphur=" + play_amphur ;
	req.onreadystatechange = function()
	{
		if ( req.readyState == 4 )
		{
			if ( req.status == 200 )
			{
				var datas = eval( '(' + req.responseText + ')' ); // JSON
				document.getElementById( 'PROVINCE_ID' ).innerHTML = datas[0].play_province;
				document.getElementById( 'AMPHUR_ID' ).innerHTML = datas[0].play_amphur;
				//document.getElementById( 'play_districtDiv' ).innerHTML = datas[0].play_district;
			};
		};
	};
	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( '' );
};
</script>








แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-20 12:36:15 By : AewTre
 


 

No. 2



โพสกระทู้ ( 27 )
บทความ ( 0 )



สถานะออฟไลน์


หน้า ดึงข้อมูลจังหวัด มาจาก database ค่ะ
Code (PHP)
<?php
header("content-type: text/html; charset=utf-8");
header ("Expires: Mon, 26 Jul 1997 05: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");

$PROVINCE_ID = $_POST[PROVINCE_ID];
$AMPHUR_ID = $_POST[AMPHUR_ID];
//$play_district = $_POST[play_district];
	include ('config.php');
	// ติดต่อฐานข้อมูล
	mysql_connect($config[db_server], $config[db_username], $config[db_password]);
	mysql_query("SET NAMES utf8");
	mysql_select_db($config[db_name]); // เลือกฐานข้อมูล
	//ให้คืนค่าจังหวัดไว้เป็นอันดับแรก
	$sql = "SELECT PROVINCE_ID, PROVINCE_NAME FROM ".$prefix."play_province order by PROVINCE_NAME ASC";
	$result = mysql_query($sql);
	echo "[{\"PROVINCE_ID\":\"";
	echo "<label for='play_province'>จังหวัด :</label>";
	echo "<select name='play_province' id='play_province' onchange='dochange(this)'>";
	echo "<option value='0'>--กรุณาเลือกจังหวัด--</option>";
	while ($fetcharr = mysql_fetch_array($result)) {
		$PROVINCE_ID = $fetcharr[PROVINCE_ID];
		$PROVINCE_NAME = $fetcharr[PROVINCE_NAME];
		echo "<option value='$PROVINCE_ID'";
		if ($PROVINCE_ID == $PROVINCE_ID) //เลือกจังหวัดที่เลือกไว้
			{
			echo " selected='selected'";
		}
		echo ">$PROVINCE_NAME</option>";
	}
	echo "</select>\",\"AMPHUR_ID\":\"";
	echo "<label for='play_amphur'>อำเภอ :</label>";
	echo "<select name='play_amphur' id='play_amphur' onchange='dochange(this)'>";

	//ถ้ามีการเลือกจังหวัดมาแล้วให้แสดงอำเภอต่อ
	if ($PROVINCE_ID != "0" && $PROVINCE_ID != "") {
		echo "<option value='0'>--กรุณาเลือกอำเภอ--</option>";
		$sql = "SELECT AMPHUR_ID, AMPHUR_NAME FROM ".$prefix."play_amphur WHERE PROVINCE_ID='$PROVINCE_ID'";
		$result = mysql_query($sql);
		while ($fetcharr = mysql_fetch_array($result)) {
			$AMPHUR_ID = $fetcharr[AMPHUR_ID];
			$AMPHUR_NAME = $fetcharr[AMPHUR_NAME];
			echo "<option value='$AMPHUR_ID'";
			if ($AMPHUR_ID == $AMPHUR_ID) //เลือกอำเภอที่เลือกไว้
				{
				echo " selected='selected'";
			}
			echo ">$AMPHUR_NAME</option>";
		}
	} else {
		echo "<option value=''></option>";
	}
	echo "</select>\"}]";
	mysql_close();
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-20 12:39:44 By : AewTre
 

 

No. 3



โพสกระทู้ ( 3,750 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Facebook

select อีกรอบครับโดยการดึงข้อมูลจากดาต้าเบสที่ลงไป
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-20 13:17:56 By : Dragons_first
 


 

No. 4



โพสกระทู้ ( 335 )
บทความ ( 0 )



สถานะออฟไลน์


Code (PHP)
$PROVINCE_ID = $_POST[PROVINCE_ID];
$AMPHUR_ID = $_POST[AMPHUR_ID];
.
.
.
.
.
while ($fetcharr = mysql_fetch_array($result)) {
    $PROVINCE_ID = $fetcharr[PROVINCE_ID];
    $PROVINCE_NAME = $fetcharr[PROVINCE_NAME];
    echo "<option value='$PROVINCE_ID'";
    if ($PROVINCE_ID == $PROVINCE_ID) //เลือกจังหวัดที่เลือกไว้
    {
        echo " selected='selected'";
    }
    echo ">$PROVINCE_NAME</option>";
}


$PROVINCE_ID == $PROVINCE_ID

ตัวแปร ใช้ชื่อซ้ำนิ ครับ
แบบนี้เท่ากับว่า มันเปลี่ยนค่า ทุกครั้งที่ loop หรือเปล่า
ลองแก้ ให้ชื่อต่างกันดูครับ ระหว่าง ค่าที่ได้รับมาจากการ $_POST กับ ค่าที่ ดึงมาจาก Database
Code (PHP)
if($_POST[PROVINCE_ID] == $fetcharr[PROVINCE_ID]) echo "selected";

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-20 13:30:29 By : Likito
 


 

No. 5



โพสกระทู้ ( 27 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณมากนะค่ะ
ลองแล้วค่ะ ยังไม่ได้เลย T_T
ไม่ทราบว่าเปลี่ยนแบบนี้หรือเปล่าค่ะ ช่วยดูให้หน่อยนะค่ะ
Code (PHP)
$PROVINCE_ID = $_POST[PROVINCE_ID];
$AMPHUR_ID = $_POST[AMPHUR_ID];
.
.
.
.
.
while ($fetcharr = mysql_fetch_array($result)) {
    $PROVINCE_ID = $fetcharr[PROVINCE_ID];
    $PROVINCE_NAME = $fetcharr[PROVINCE_NAME];
    echo "<option value='$PROVINCE_ID'";
    if($_POST[PROVINCE_ID] == $fetcharr[PROVINCE_ID]) echo "selected";
    {
        echo " selected='selected'";
    }
    echo ">$PROVINCE_NAME</option>";
}


ผลลัพธ์ที่ได้ค่ะ
1

แต่ค่าที่ select ออกมาเมื่อ edit แล้วยังวิ่งไป text ตัวสุดท้ายเลยค่ะ
2
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-20 15:56:43 By : AewTre
 


 

No. 6



โพสกระทู้ ( 144 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ลองเอาออกก่อนดีกว่าครับ

Code (PHP)
while ($fetcharr = mysql_fetch_array($result)) {
    $PROVINCE_ID = $fetcharr[PROVINCE_ID];
    $PROVINCE_NAME = $fetcharr[PROVINCE_NAME];
    echo "<option value='$PROVINCE_ID'";
    if($_POST[PROVINCE_ID] == $fetcharr[PROVINCE_ID]) echo "selected";  //  echo "selected";  ?????
    {
        echo " selected='selected'";
    }
    echo ">$PROVINCE_NAME</option>";
}



แต่ถ้าไม่หายจริงๆ รันดูแล้ว คลิกขวา view source แล้วดูที่ ผลที่ได้ตอนออกมาเป็น html นะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-20 16:05:05 By : 13eachz
 


 

No. 7



โพสกระทู้ ( 335 )
บทความ ( 0 )



สถานะออฟไลน์


งง ครับ

สรุปแล้วที่ต้องการคือยังไงครับ

เวลาจะ edit ข้อมูล
แล้วข้อมูลที่เป็น select menu นั้น ต้องการให้มัน แสดงค่า default เป็นค่า ที่เก็บไว้อยู่ใน database ใช่รึเปล่าครับ

แบบนี้ใช้เงื่อนไข if ผิดครับ
หลัง if แล้วมี echo "selectted";ไปแล้ว แต่ทำไมมี { } ต่อ อีกที

Quote:
if($_POST[PROVINCE_ID] == $fetcharr[PROVINCE_ID]) echo "selected";
{
echo " selected='selected'";
}



ผมไม่แน่ใจว่าปกติแล้ว จะทำ default กับพวก select menu นั้นใช้ selected='selected' แบบนี้ใน tag <option>ได้รึเปล่าไม่เคยลองครับ

ปกติผมใช้แบบนี้ครับ
Quote:
<select>
<option>AAA</option>
<option>BBB</option>
<option selected>CCC</option>
</select>



ประวัติการแก้ไข
2012-02-20 16:12:02
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-20 16:11:44 By : Likito
 


 

No. 8



โพสกระทู้ ( 27 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณทุกๆคำตอบเลยค่ะ
ใช่ค่ะเวลาจะ edit ข้อมูล
แล้วข้อมูลที่เป็น select menu นั้น ต้องการให้มัน แสดงค่า default เป็นค่า ที่เก็บไว้อยู่ใน database ค่ะ แต่ตอนนี้ยังไม่ได้เลยค่ะ
ส่วนวิธีที่คุณ Likito ใช้นั้น ไม่สามารถเอามาใช้กับแบบนี้ได้ค่ะ ขอบคุณมากนะค่ะ
Code (PHP)
<select>
<option>AAA</option>
<option>BBB</option>
<option selected>CCC</option>
</select>

คือจะจำค่าที่ selected ของ option นั้น

ลองเขียนแบบนี้ก็ยังไม่ได้ค่ะ ช่วยดูให้หน่อยนะค่ะ คือ
select ค่าของ table province (จังหวัด) ออกมาโชว์ แล้วทำการ select อีกรอบโดยการดึงข้อมูลจาก database table event (ที่เก็บข้อมูล)ลงไป และทำการเรียกข้อมูล โดยทำการเปรียบเทียบว่า table ที่เก็บข้อมูลกับ table จังหวัด ตรงกันหรือเปล่า ถ้าตรงกันให้เรียกค่าที่เก็บใน database ออกมาโชว์ โดยโชว์ค่าชื่อ PROVINCE_NAME ของtable province ค่ะ
Code (PHP)
<?php
header("content-type: text/html; charset=utf-8");
header ("Expires: Mon, 26 Jul 1997 05: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");



$play_province = $_POST[play_province];
$play_amphur = $_POST[play_amphur];
$play_district = $_POST[play_district];
	include ('config.php');
	// ติดต่อฐานข้อมูล
	mysql_connect($config[db_server], $config[db_username], $config[db_password]);
	mysql_query("SET NAMES utf8");
	mysql_select_db($config[db_name]); // เลือกฐานข้อมูล
	//ให้คืนค่าจังหวัดไว้เป็นอันดับแรก
	$sql = "SELECT PROVINCE_ID, PROVINCE_NAME FROM play_province order by PROVINCE_NAME ASC";
	$sql1 = "SELECT * FROM  play_event WHERE id='".$_GET['id']."' ";
	$result = mysql_query($sql);
	$result1 = mysql_query($sql1);
	$data=mysql_fetch_array($result1);
	echo "[{\"play_province\":\"";
	echo "<label for='play_province'>จังหวัด :</label>";
	echo "<select name='play_province' id='play_province' onchange='dochange(this)'>";
	echo "<option value='0'>--กรุณาเลือกจังหวัด--</option>";
	while ($fetcharr = mysql_fetch_array($result)) {
		 $PROVINCE_ID = $fetcharr[PROVINCE_ID];
		 $PROVINCE_NAME = $fetcharr[PROVINCE_NAME];
		if($data[PROVINCE_ID] == $fetcharr[PROVINCE_ID]){
		 echo "<option value='$PROVINCE_ID' selected>$PROVINCE_NAME</option>";
		  else
		 echo "<option value='$PROVINCE_ID' >$PROVINCE_NAME</option>";
	   }
	}
	echo "</select>\",\"play_amphur\":\"";
	echo "<label for='play_amphur'>อำเภอ :</label>";
	echo "<select name='play_amphur' id='play_amphur' onchange='dochange(this)'>";
	//ถ้ามีการเลือกจังหวัดมาแล้วให้แสดงอำเภอต่อ
	if ($play_province != "0" && $play_province != "") {
		echo "<option value='0'>--กรุณาเลือกอำเภอ--</option>";
		$sql = "SELECT AMPHUR_ID, AMPHUR_NAME FROM ".$prefix."play_amphur WHERE PROVINCE_ID='$play_province'";
		$result = mysql_query($sql);
		while ($fetcharr = mysql_fetch_array($result)) {
			$AMPHUR_ID = $fetcharr[AMPHUR_ID];
			$AMPHUR_NAME = $fetcharr[AMPHUR_NAME];
			echo "<option value='$AMPHUR_ID'";
			if ($play_amphur == $AMPHUR_ID) //เลือกอำเภอที่เลือกไว้
				{
				echo " selected='selected'";
			}
			echo ">$AMPHUR_NAME</option>";
		}
	} else {
		echo "<option value=''>--------------</option>";
	}
	echo "</select>\",\"play_district\":\"";
	echo "<label for='play_district'>ตำบล :</label>";
	echo "<select name='play_district' id='play_district' onchange='dochange(this)'>";
	//ถ้ามีการเลือกอำเภอมาแล้วให้แสดงตำบลต่อ
	if ($play_amphur != "0" && $play_amphur != "") {
		echo "<option value='0'>--กรุณาเลือกตำบล--</option>";
		$sql = "SELECT DISTRICT_ID, DISTRICT_NAME FROM ".$prefix."play_district WHERE AMPHUR_ID='$play_amphur'";
		$result = mysql_query($sql);
		while ($fetcharr = mysql_fetch_array($result)) {
			$DISTRICT_ID = $fetcharr[DISTRICT_ID];
			$DISTRICT_NAME = $fetcharr[DISTRICT_NAME];
			echo "<option value='$DISTRICT_ID'";
			if ($play_district == $DISTRICT_ID) //เลือกตำบลที่เลือกไว้
				{
				echo " selected='selected'";
			}
			echo ">$DISTRICT_NAME</option>";
		}
	} else {
		echo "<option value=''>--------------</option>";
	}
	echo "</select>\"}]";
	mysql_close();
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-22 10:41:36 By : AewTre
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามการจำค่า select เมื่อ edit ข้อมูลจังหวัด แล้วค่า select จังหวัด ไม่จำค่าค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่