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

Registered : 107,995

HOME > PHP > PHP Forum > สอบถาม jquery ในส่วนของการนำ json data ที่เป็นภาษาไทย ในการนำไปใช้งานครับ



 

สอบถาม jquery ในส่วนของการนำ json data ที่เป็นภาษาไทย ในการนำไปใช้งานครับ

 



Topic : 079638



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



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




ผมดึงข้อมูลใน DB return json_encode($ArrayData) ไป
JavaScript รับข้อมูล อยากให้อยู่ในรูปแบบ json ครับ เพราะจะเอาไปทำ AutoComplete (JQuery TokenInput Script)

[font=Verdana]คำถาม[/font]
Javascript ผมจะรับข้อมูล json data ไว้ในรูปแบบ json ได้อย่างไร โดยที่มันจะ decode ภาษาไทยกลับมาเหมือนเดิมได้ครับ


ไฟล์ json

Code (PHP)
<?php
include("config_database.php");
header ('Content-type: text/html; charset=utf-8');

$objConnect = mysql_connect($host,$user,$password) or die("Can not Connect Database");
mysql_select_db($dbname) or die("Error connecting to db.");

$sql = "SELECT public_fname,public_tel FROM public_mobile;";
mysql_query("SET NAMES UTF8");
$objQuery = mysql_query($sql) or die("Can not Execute Query " . mysql_error());
if($objQuery)
{
	$json = array();
	
	$intNumField = mysql_num_fields($objQuery);
	$resultArray = array();
	while($obResult = mysql_fetch_array($objQuery))
	{
			$arrCol = array();
			for($i=0;$i<$intNumField;$i++)
			{
				if($i == 0)
					$arrCol["name"] = $obResult[$i];
				else if($i == 1)
					$arrCol["id"] = $obResult[$i];
				
			}
			array_push($resultArray,$arrCol);
	}
	
	//var_dump($resultArray); <-- ข้อมูลใน Array Column name เป็นภาษาไทย
	
	echo json_encode($resultArray);
}

mysql_close($objConnect);

?>


ไฟล์ javascript

Code (JavaScript)
$(document).ready(function() {	

$.ajax({
			  'url': 'json_data.php',
			  'datatype' : 'json',
			  'type':'GET',
			  'success' : function(data)
			  {
                                var jsonData = '';
				// อยากได้ข้อมูลในรูปแบบ jsonData โดยสามารถใช้งานภาษาไทยได้ครับ
                                // ทำอย่างไรเอ่ย ?

			  },
			  'error': function(xhr, status)
			  {
                   console.log("Ajax error status code: %d text: %s", xhr.status, xhr.statusText)   
               }
});

// jQuery AutoComplete ค้นหาข้อมูล ได้แต่ Eng แต่มันไม่สามารถค้นหา Data ที่เป็น ภาษาไทยได้ครับ
$("#demo-input-facebook-theme").tokenInput(
					decodeURI(jsonData)
					, {
                	theme: "facebook"
            });

}




Tag : PHP, MySQL, JavaScript, Ajax, jQuery









ประวัติการแก้ไข
2012-06-11 12:02:05
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-06-11 11:59:52 By : LunaziA View : 17752 Reply : 9
 

 

No. 1



โพสกระทู้ ( 74,042 )
บทความ ( 838 )

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

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

echo json_encode($resultArray);

มันได้เป็นค่าอะไรออกมาครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-06-11 12:34:44 By : mr.win
 


 

No. 2



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



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


var_dump ข้อมูลใน Array ก่อน json_encode ครับ
Code (PHP)
array(34) 
{ [0]=> array(2) { ["name"]=> string(9) "HoneyMoon" ["id"]=> string(10) "0815579801" } [1]=> array(2) { ["name"]=> string(7) "Ekkamol" ["id"]=> string(10) "0872361725" } [2]=> array(2) { ["name"]=> string(4) "Jack" ["id"]=> string(10) "0867248727" } [3]=> array(2) { ["name"]=> string(18) "Man Chester United" ["id"]=> string(10) "0816127861" } [4]=> array(2) { ["name"]=> string(5) "Dream" ["id"]=> string(10) "0891248767" } [5]=> array(2) { ["name"]=> string(8) "Superman" ["id"]=> string(10) "0851231276" } [6]=> array(2) { ["name"]=> string(5) "Janny" ["id"]=> string(10) "0851236666" } [7]=> array(2) { ["name"]=> string(8) "Supachai" ["id"]=> string(10) "0864417734" } [8]=> array(2) { ["name"]=> string(7) "D ja ^^" ["id"]=> string(10) "0851283718" } [9]=> array(2) { ["name"]=> string(7) "IronMan" ["id"]=> string(10) "0851287361" } [10]=> array(2) { ["name"]=> string(10) "WonderGirl" ["id"]=> string(10) "0811823812" } [11]=> array(2) { ["name"]=> string(5) "T-ara" ["id"]=> string(10) "0894277985" } [12]=> array(2) { ["name"]=> string(4) "SNSD" ["id"]=> string(10) "0851263512" } [13]=> array(2) { ["name"]=> string(8) "Westlife" ["id"]=> string(10) "0861872381" } [14]=> array(2) { ["name"]=> string(13) "BackStreetBoy" ["id"]=> string(10) "0812364712" } [15]=> array(2) { ["name"]=> string(30) "นางสาวสมใจ" ["id"]=> string(10) "0851235167" } [16]=> array(2) { ["name"]=> string(27) "นายเอกราช" ["id"]=> string(10) "0898871235" } [17]=> array(2) { ["name"]=> string(30) "นางอุไทมาศ" ["id"]=> string(10) "0857712345" } [18]=> array(2) { ["name"]=> string(27) "นายสุรชัย" ["id"]=> string(10) "0841283681" } [19]=> array(2) { ["name"]=> string(39) "นางสาวล้มเก้า" ["id"]=> string(10) "0851236471" } [20]=> array(2) { ["name"]=> string(27) "นายเอกกมล" ["id"]=> string(10) "0815235123" } [21]=> array(2) { ["name"]=> string(36) "นายสมประสงค์" ["id"]=> string(10) "0851237817" } [22]=> array(2) { ["name"]=> string(24) "นายสันติ" ["id"]=> string(10) "0861238718" } [23]=> array(2) { ["name"]=> string(9) "Thanachai" ["id"]=> string(10) "0894454748" } [24]=> array(2) { ["name"]=> string(7) "Element" ["id"]=> string(10) "0879808986" } [25]=> array(2) { ["name"]=> string(24) "นายสมชาย" ["id"]=> string(10) "0874454748" } [26]=> array(2) { ["name"]=> string(6) "Steven" ["id"]=> string(10) "0858901156" } [27]=> array(2) { ["name"]=> string(4) "Bung" ["id"]=> string(10) "0854454748" } [28]=> array(2) { ["name"]=> string(4) "John" ["id"]=> string(10) "0897789012" } [29]=> array(2) { ["name"]=> string(3) "Max" ["id"]=> string(10) "0813712837" } [30]=> array(2) { ["name"]=> string(7) "PopRock" ["id"]=> string(10) "0812531253" } [31]=> array(2) { ["name"]=> string(24) "นายเกษตร" ["id"]=> string(10) "0874454748" } [32]=> array(2) { ["name"]=> string(4) "Keng" ["id"]=> string(10) "0871231412" } [33]=> array(2) { ["name"]=> string(6) "Dragon" ["id"]=> string(10) "0874454748" } 
} 


echo json_encode($resultArray); ครับ

จะเห็นว่า name ที่เป็นภาษาไทยโดน Encode ครับ

Code (PHP)
[{"name":"HoneyMoon","id":"0815579801"},{"name":"Ekkamol","id":"0872361725"},{"name":"Jack","id":"0867248727"},{"name":"Man Chester United","id":"0816127861"},{"name":"Dream","id":"0891248767"},{"name":"Superman","id":"0851231276"},{"name":"Janny","id":"0851236666"},{"name":"Supachai","id":"0864417734"},{"name":"D ja ^^","id":"0851283718"},{"name":"IronMan","id":"0851287361"},{"name":"WonderGirl","id":"0811823812"},{"name":"T-ara","id":"0894277985"},{"name":"SNSD","id":"0851263512"},{"name":"Westlife","id":"0861872381"},{"name":"BackStreetBoy","id":"0812364712"},{"name":"\u0e19\u0e32\u0e07\u0e2a\u0e32\u0e27\u0e2a\u0e21\u0e43\u0e08","id":"0851235167"},{"name":"\u0e19\u0e32\u0e22\u0e40\u0e2d\u0e01\u0e23\u0e32\u0e0a","id":"0898871235"},{"name":"\u0e19\u0e32\u0e07\u0e2d\u0e38\u0e44\u0e17\u0e21\u0e32\u0e28","id":"0857712345"},{"name":"\u0e19\u0e32\u0e22\u0e2a\u0e38\u0e23\u0e0a\u0e31\u0e22","id":"0841283681"},{"name":"\u0e19\u0e32\u0e07\u0e2a\u0e32\u0e27\u0e25\u0e49\u0e21\u0e40\u0e01\u0e49\u0e32","id":"0851236471"},{"name":"\u0e19\u0e32\u0e22\u0e40\u0e2d\u0e01\u0e01\u0e21\u0e25","id":"0815235123"},{"name":"\u0e19\u0e32\u0e22\u0e2a\u0e21\u0e1b\u0e23\u0e30\u0e2a\u0e07\u0e04\u0e4c","id":"0851237817"},{"name":"\u0e19\u0e32\u0e22\u0e2a\u0e31\u0e19\u0e15\u0e34","id":"0861238718"},{"name":"Thanachai","id":"0894454748"},{"name":"Element","id":"0879808986"},{"name":"\u0e19\u0e32\u0e22\u0e2a\u0e21\u0e0a\u0e32\u0e22","id":"0874454748"},{"name":"Steven","id":"0858901156"},{"name":"Bung","id":"0854454748"},{"name":"John","id":"0897789012"},{"name":"Max","id":"0813712837"},{"name":"PopRock","id":"0812531253"},{"name":"\u0e19\u0e32\u0e22\u0e40\u0e01\u0e29\u0e15\u0e23","id":"0874454748"},{"name":"Keng","id":"0871231412"},{"name":"Dragon","id":"0874454748"}]



ประวัติการแก้ไข
2012-06-11 13:50:01
2012-06-11 13:52:08
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-06-11 13:48:38 By : LunaziA
 

 

No. 3



โพสกระทู้ ( 74,042 )
บทความ ( 838 )

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

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

ผมก็รับส่งไทยได้ปกติน่ะครับ

Code (resultMySQL.php)
<?
	$objConnect = mysql_connect("localhost","root","root") or die(mysql_error());
	$objDB = mysql_select_db("mydatabase");
	mysql_query("SET NAMES UTF8");
	$strSQL = "SELECT * FROM customer WHERE 1 AND CountryCode = '".$_POST["keyword"]."' ";
	$objQuery = mysql_query($strSQL) or die (mysql_error());
	$intNumField = mysql_num_fields($objQuery);
	$resultArray = array();
	while($obResult = mysql_fetch_array($objQuery))
	{
		$arrCol = array();
		for($i=0;$i<$intNumField;$i++)
		{
			$arrCol[mysql_field_name($objQuery,$i)] = $obResult[$i];
		}
		array_push($resultArray,$arrCol);
	}
	
	mysql_close($objConnect);
	
	echo json_encode($resultArray);
?>


Code (AjaxJSON.php)
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){

	$("#btn1").click(function(){
			$.ajax({ 
				url: "resultMySQL.php" ,
				type: "POST",
				data: 'keyword=' +$("#txtCountryCode").val()
			})
			.success(function(result) { 

					$("#div1").empty();

				var obj = jQuery.parseJSON(result);
				  $.each(obj, function(key, val) {

					   $("#div1").append('<hr />');
					   $("#div1").append('[' + key + '] ' + 'CustomerID=' + val["CustomerID"] +'<br />');
					   $("#div1").append('[' + key + '] ' + 'Name=' + val["Name"] +'<br />');
					   $("#div1").append('[' + key + '] ' + 'Email=' + val["Email"] +'<br />');
					   $("#div1").append('[' + key + '] ' + 'CountryCode=' + val["CountryCode"] +'<br />');
					   $("#div1").append('[' + key + '] ' + 'Budget=' + val["Budget"] +'<br />');
					   $("#div1").append('[' + key + '] ' + 'Used=' + val["Used"] +'<br />');

				  });

			});

		});
	});
</script>
</head>
<body>
Search Customer (CountryCode)
<input type="text" id="txtCountryCode">
<input type="button" id="btn1" value="Search">
<div id="div1"></div>

</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-06-11 17:32:01 By : mr.win
 


 

No. 4



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



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


ขอบคุณครับพี่วิน รบกวนถามอีกหน่อยครับ

ผมอยากให้ var jsonData มีข้อมูลในรูปแบบ [{"id":"1234","name":"abcd"},{"id":"5678","name":"avfe"}, ... ]

เพื่อที่จะให้อีก Event ของ AutoComplete(TokenInput) ทำงานได้ครับ

Code (JavaScript)
<script type="text/javascript">
$(document).ready(function() 
{
	var jsonData;
	$.ajax({
		url:"json_data.php",
		type: "GET",
	})
	.success(function(result)
	{
		var obj = jQuery.parseJSON(result);
		jsonData = '[';
		$.each(obj, function(key, val) {
			jsonData += '{"name":"' + val["name"] +'","id":"' + val["id"] +'"},';
		});
		jsonData += '{"name":"","id":""}]';
               alert(jsonData) <<< ได้ข้อมูลที่ต้องการ
	});
            alert(jsonData) <<< undefined 

	$("#demo-input-facebook-theme").tokenInput(jsonData, <<< event นำ jsonData ไป AutoComplete ครับ
	{
			theme: "facebook"
	});
       /* ตัวอย่าง
           $(document).ready(function() {
            $("#demo-input-facebook-theme").tokenInput("http://shell.loopj.com/tokeninput/tvshows.php", {
                preventDuplicates: true
            });
        });
        */
});
</script>



ประวัติการแก้ไข
2012-06-12 10:10:11
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-06-12 10:09:45 By : LunaziA
 


 

No. 5



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



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


คือจากที่ผมลอง

คือมันไม่สามารถ Search ข้อมูลที่เป็น ภาษาไทยได้ครับ

แก้ปัญหาอย่างไรดีครับ T^T

Code (JavaScript)
$("#demo-input-facebook-theme").tokenInput("json_data.php", 
	{
			theme: "facebook"
	});

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-06-12 10:34:46 By : LunaziA
 


 

No. 6



โพสกระทู้ ( 74,042 )
บทความ ( 838 )

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

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

ถ้าใช้ jQueryลองส่งแบบ UTF-8 ไปน่ะครับ หรือใช้ data:"q="+encodeURIComponent( query )
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-06-12 10:38:16 By : mr.win
 


 

No. 7



โพสกระทู้ ( 74,042 )
บทความ ( 838 )

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

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

หรือไม่ใน function ที่รับลองใช้พวก iconv() ช่วยครับ iconv("tis-620","utf-8",$str);
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-06-12 10:39:58 By : mr.win
 


 

No. 8

Guest


header('Content-type: application/json;charset=utf-8');
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-30 17:31:12 By : หวาน
 


 

No. 9

Guest


echo json_encode(master(), JSON_UNESCAPED_UNICODE);
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-07-29 11:36:50 By : wan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถาม jquery ในส่วนของการนำ json data ที่เป็นภาษาไทย ในการนำไปใช้งานครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม

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