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,030

HOME > PHP > PHP Forum > Android ปัญหาเรื่องการอ่านข้อมูลภาษาไทยจาก MS SQL SERVER 2014 โดยใช้ MSSQL ติดต่อ Database



 

Android ปัญหาเรื่องการอ่านข้อมูลภาษาไทยจาก MS SQL SERVER 2014 โดยใช้ MSSQL ติดต่อ Database

 



Topic : 124214



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



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




พอดีผมทำตามอันนี้ https://www.thaicreate.com/mobile/android-edit-update-server-database.html ต้องการให้ค้นหาข้อมูลเป็นภาษาไทย แล้วผมลองติดต่อ Connect php ดู ผลปรากฏว่าข้อมูลออกมาเป็น ภาษาอังกฤษอย่างเดียว ส่วนข้อมูลภาษาไทยไม่ขึ้นจะขึ้นเป็น ??? เลย แต่จะขึ้นเป็นเหมือนช่องว่างแทนเช่น Name='' แบบนี้ ถ้าของอังกฤษกะจะขึ้นมา Name='aa'

ใช้ PHP JSON Connect Webservice

ตัว Database Server สามารถรองรับภาษาไทยได้ ครับ เพราะพิมข้อมูลลงเป็นภาษาไทยได้ (พิมข้อมูลใส่จากทาง Server ยังไม่ได้ทดลอง Insert จากตัวแอพ)

Database ที่ผมใช้คือ MQL Server 2014 ผมใช้ mssql ในการติดต่อฐานข้อมูล

ผมลองทำให้ php มันขึ้นภาษาไทยก่อน ส่วน code android ผมลองหาวิธีทำดูแล้วน่าจะทำได้ ครับ



Tag : PHP, Ms SQL Server 2012, Android, Mobile









ประวัติการแก้ไข
2016-08-10 16:33:54
2016-08-10 16:34:41
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-08-10 16:32:48 By : PuYo View : 3024 Reply : 67
 

 

No. 1



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

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

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

ใช้ NVARCHAR() ครับ แล้วกำหนด header ตอนที่ JSON ส่งกลับมาให้เป็นแบบ UTF-8 ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-11 14:43:36 By : mr.win
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2016-08-11 14:43:36
รายละเอียดของการตอบ ::
ขอบคุณ ครับ จะลองดู ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-11 14:50:06 By : PuYo
 

 

No. 3



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



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


ผมลองดูแล้ว ถ้าผมใส่ header ลงไปจะไม่อ่านอะไรเลย ครับ จะค้นหาไม่ได้เลย เมื่อผมเอาออกปรากฏว่าขึ้นเหมือนเดิม ไม่ขึ้นภาษาไทย แต่ผมไปกำหนด

httpPost.setEntity(new UrlEncodedFormEntity(params , "TIS-620"));

BufferedReader reader = new BufferedReader(new InputStreamReader(content , "TIS-620"));

ผมใช้ UTF-8 แล้วมันใช้ไม่ได้ ครับ ใช้ได้แต่ TIS-620

2 อันนี้ผมสามารถ edit/update เป็นภาษาไทยเข้าไปได้แต่ช่องให้ใส่ Name กะจะเป็นช่องโล่งๆ ไม่มีอะไรเกิดขึ้น ครับ ผมลองเปลี่ยนเป็น NVARCHAR() แล้ว

1
2


ประวัติการแก้ไข
2016-08-11 16:00:28
2016-08-11 16:00:34
2016-08-11 16:00:37
2016-08-11 16:38:26
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-11 15:59:16 By : PuYo
 


 

No. 4



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



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


***เพิ่มเติม*** ครับ

ตอนนี้ผมลองเริ่มทำในส่วนของ Android แล้วนะ ครับ

ตอนนี้ผมลองแก้ใส่

httpPost.setEntity(new UrlEncodedFormEntity(params , "TIS-620")); >>> เปลี่ยนไปเป็น UTF-8

BufferedReader reader = new BufferedReader(new InputStreamReader(content , "TIS-620")); >>> เปลี่ยนไปเป็น UTF-8

ผลปรากฏว่าขึ้นภาษาไทย ครับ แต่ !! ต้อง update มันใหม่ แต่ !! Database มันเป็นภาษาต่างด้าวอะ ครับ ส่วน PHP ถ้าใส่ header ลงไปเวลาบันทึกข้อมูลมันจะเด้งว่า "Unknow Status!"
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-11 17:07:34 By : PuYo
 


 

No. 5



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


Code (PHP)
ini_set('mssql.charset', 'UTF-8');

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-11 20:58:55 By : Chaidhanan
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-08-11 20:58:55
รายละเอียดของการตอบ ::
ขอบคุณสำหรับ Code ครับ ขอสอบถามเพิ่มเติม ครับ Code ตัวนี้ใส่ไปแล้วต้องใส่ Header ด้วยไหม ครับ

Code ตัวนี้จะทำงานคล้ายๆ กับ mysql_query( set names utf8 ) ใช่ไหม ครับ

ขอบคุณ ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-11 21:24:26 By : PuYo
 


 

No. 7



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



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


ตอนนี้ยังติดปัญหาอยู่ที่เดิม ครับ เป็นภาษาต่างดาวตามรูปภาพ

ถ้ากำหนดให้ทางฝั่ง android ส่งข้อมูลไปให้เก็บบน Database เป็น UTF-8 Database มันจะเป็นภาษาต่างดาว ครับ แต่ใน Android จะเห็นเป็นภาษาไทย แต่ถ้ากำหนดเป็นแบบ TIS-620 ทาง Database จะเห็นเป็นภาษาไทย แต่ ทาง Android จะเห็นเป็นช่องว่าง ครับ

ผมลองใส่ header ไปแล้วมันขึ้น "Unknow Status!" ก็จริงแต่กะเห็นมันเซฟลง Database ครับ ลองใส่ ini_set('mssql.charset', 'UTF-8'); ลงไปกะยังไม่ได้ ครับ


1


อันนี้ลองแสดงผลจากเว็บนะ ครับ

2


ประวัติการแก้ไข
2016-08-13 10:20:08
2016-08-13 10:20:53
2016-08-13 10:20:59
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-13 09:45:50 By : PuYo
 


 

No. 8



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



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


ขอดันหน่อยนะ ครับ เพื่อมีคนทราบ รบกวนคนที่ทราบด้วยนะ ครับ T-T
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-14 21:47:02 By : PuYo
 


 

No. 9



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


fieldtype ของ Name ต้องเป็น nvarchar
เวลาอัพเดท ใชั N'ข้อมูล'
ตัวอย่าง update table set Name=N'ข้อมูลภาษาไทย'

ปล. ดูข้อมูลส่วนที่มาจาก android น่าจะถูก encrypt จะโปรแกรม ก่อนเข้าดาต้าเบสครับ
ทำให้อยู่ในรูปของ ascii เพื่อเก็บลง database ได้ทุกภาษา และเวลานำไปใช้ก็คงจะ decrypt อีกที
ดังนั้น เวลาจะแสดงผลคงต้อง ตรวจสอบชนิดของข้อมูลที่ได้อีกทีว่าอยู่ในรูปแบบไหน

เช่น
Code (PHP)
if(preg_match('/(\\u[0-9a-f]{4})+/i', $ro['name'])){
    echo encrypt_decode($ro['name']);
}else{
   echo $ro['name'];
}


ก็ตรวจสอบคำสั่ง encrypt เอาเองนะครับ ผมมั่วเขียนลงไป


ประวัติการแก้ไข
2016-08-15 05:24:40
2016-08-15 05:25:52
2016-08-15 05:29:02
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-15 05:16:07 By : Chaidhanan
 


 

No. 10



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



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-08-15 05:16:07
รายละเอียดของการตอบ ::
ผมลองเอาไปใส่แล้ว มัน Error อะ ครับ หรือ ผมใส่ผิดที่ ผมลองเปลี่ยน encrypt แล้ว ครับ

ตอนนี้ผมยังไม่ได้ Updata มันอะ ครับ แค่อยากรู้ว่าใส่ลงไปมันจะเก็บค่าเป็นยังไง จริงๆ ผมแค่อยากจะ Show ข้อมูลภาษาไทยเฉยๆ อะ ครับ ไม่ได้ต้องการ Edit/Update แต่ผมยังติดปัญหา Database มันเก็บค่าภาษาไทยแต่ php ตอนเรียกใช้มันไม่เอามาโชว์ ถ้าทำตามบทความนี้จะได้ภาษาไทยออกมา https://www.thaicreate.com/community/php-sql-server-2005-2008-thai.html ( ใช้ได้แต่ตัว TIS-620 จะเห็นภาษาไทย แต่ถ้า UTF-8 จะเป็นภาษาต่างดาว ) ตอนนี้ผมกำลังคิดว่าปัญหาน่าจะเกิดจาก android อ่าน php คนละภาษากัน


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-15 15:45:31 By : PuYo
 


 

No. 11



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


ขอโทษผมหลงเอง จากรูป no 7
ข้อมูล ช่อง Name เป็น utf8 อยู่แล้ว
ผมอยากทราบ ว่า field type ของอันนี้เป็นอะไร ครับ


โดยทั่วไป ถ้าอยากให้เก็บภาษาไทย สำหรับ sql server
1 ที่ database เซท collation เป็น ภาษาไทย
เป็นค่า default สำหรับการรับข้อมูลเข้าออก ของข้อมูลประเภท ascii สำหรับ char varchar text ...
2 ถ้าอยากจะรับได้ทุกภาษา ให้กำหนด field type สำหรับรับ unicode เช่น nchar nvarchar ntext ...
ซึ่งพวกนี้จะใช้งานร่วมกับ web service ที่ใช้ utf8 ได้ดี ไม่ต้องแปลงข้อมูล

3 ที่ php บอก php ให้รู้ว่า sqlserver นี่ใช้ค่า default เป็นภาษาอะไร
ini_set('mssql.charset', 'UTF-8'); ก็จะแสดงข้อมูลตามที่กำหนดไว้

4 ที่ html กำหนด charset เป็น utf8

แค่นี้ ก็จะใช้ภาษาไทย ได้

สำหรับ อุปกรณ์ ส่วนใหญ่ ก็จะใช้ utf8 ในการติดข้อมูล ซึ่งไม่ต้องแปลงอะไรก็สามารถใช้ได้เลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-16 08:00:36 By : Chaidhanan
 


 

No. 12



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



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


ผมกำหนดเป็นรูปแบบ nvarchar ครับ

3

Database Collation = Thai_CI_AS

4

savefile notepad ผมก็กำหนดให้เป็นแบบ UTF-8 ครับ

อันนี้เป็นส่วนของ PHP ที่ Showalldata ครับ จะเป็นเหมือนดังรูปข้างบน แต่


Code
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>ThaiCreate.Com PHP & SQL Server Tutorial</title>
</head>
<body>
<?php
//header("content-type:text/javascript;charset=utf-8");
ini_set('mssql.charset', 'UTF-8');
$objConnect = mssql_connect("Database","Username","Password") or die("Error Connect to Database");
$objDB = mssql_select_db("mydatabase1");
$strSQL = "SELECT * FROM member2";
$objQuery = mssql_query($strSQL) or die ("Error Query [".$strSQL."]");

	//mysql_query("SET NAMES UTF8");
	
	// $_POST["txtKeyword"] = "a"; // for Sample

	$strKeyword = $_POST["txtKeyword"];
	$strSQL = "SELECT * FROM member2 WHERE Name LIKE '%".$strKeyword."%'  ORDER BY MemberID ASC  ";


	$objQuery = mssql_query($strSQL);
	$intNumField = mssql_num_fields($objQuery);
	$resultArray = array();
	while($obResult = mssql_fetch_array($objQuery))

	{
		$arrCol = array();
		for($i=0;$i<$intNumField;$i++)
		{
			$arrCol[mssql_field_name($objQuery,$i)] = $obResult[$i];

		}
		array_push($resultArray,$arrCol);
	}



mssql_close($objConnect);
	
	echo json_encode($resultArray);
?>
</body>
</html>



ถ้าใส่ head ลงไปบนข้อมูล php จะไม่เห็นอะไรเลยทางฝั่ง Android บน PHP กะยังไม่ขึ้นภาษาไทย

รบกวนด้วยนะ ครับ ไม่รู้ว่าผมพลาดอะไรตรงไหนไป

6


ประวัติการแก้ไข
2016-08-16 08:21:34
2016-08-16 08:48:33
2016-08-16 08:49:50
2016-08-16 08:50:21
2016-08-16 09:06:37
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-16 08:07:36 By : PuYo
 


 

No. 13



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


Code (JavaScript)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 


แก้เป็น
Code (JavaScript)
<!doctype html><!-- ใช้ HTML5 ทำงานทุกอุปกรณ์รองรับหมดแล้ว  -->
<html>
<head>
<meta charset="utf-8">


Code (PHP)
$strKeyword = $_POST["txtKeyword"];
$strSQL = "SELECT * FROM member2 WHERE Name LIKE '%".$strKeyword."%' ORDER BY MemberID ASC ";

แก้เป็น
Code (PHP)
$org_keyword = $_POST["txtKeyword"];
$sql_Keyword = addslashes($org_keyword); // สำคัญมาก ป้องกัน sql injection ลองศึกษาพวกนี้ดูครับ นี่เป็นแบบที่ง่ายที่สุด แต่ไม่รับรองว่าปลอดภัยที่สุด
$strSQL = "SELECT * FROM member2 WHERE Name LIKE N'%".$sql_Keyword."%' ORDER BY MemberID ASC ";


ปล.อยากแนะนำให้ใช้ sqlsrv แทน mssql ครับ
ความปลอดภัยจะสูงกว่า มีเครื่องไม้เครื่องมือดีกว่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-16 09:12:15 By : Chaidhanan
 


 

No. 14



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



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


ผมลองใส่ลงไปแล้วปรากฏว่ากะยังไม่ขึ้นทางฝั่ง Android ครับ ผมลองทำตามข้างบนแล้วกะยังไม่ขึ้นภาษาไทย ครับ

Code
<!doctype html><!-- ใช้ HTML5 ทำงานทุกอุปกรณ์รองรับหมดแล้ว -->
<html>
<head>
<meta charset="utf-8">


ถ้าผมเปลี่ยนไปใช้ sqlsrv จะง่ายกว่า mssql ใช่ไหม ครับ แล้ว sqlsrv จะใช้เหมือนพวก mysql ไหม ครับ ตอนนี้ผมใช้เวอร์ชั่น php 5.2.6 เคยใส่ลงไปแล้วแต่มันไม่ขึ้นใน phpinfo คงเพราะเวอร์ชั่นยังไม่รองรับรึเปล่า ครับ แล้วถ้าจะเปลี่ยนแนะนำเป็น php เวอร์ชั่นไหน ครับ หรือผมต้องไปเปลี่ยนไปใช้ XAMPP เพื่อให้เข้าง่ายต่อการเข้าถึง code ครับ

ตอนนี้ผมใช้ appserv version php 5.2.6 apache 2.2 ผมคิดว่ากำลังจะเปลี่ยนไปเป็น XAMPP เพราะเห็นว่ามีการพัฒนาเยอะกว่า appserv


ประวัติการแก้ไข
2016-08-16 09:25:47
2016-08-16 09:31:31
2016-08-16 10:25:03
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-16 09:24:07 By : PuYo
 


 

No. 15



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



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


ตอนนี้ผมลองเปลี่ยนมาใช้ sqlsrv แล้ว ครับ

Code
<!doctype html><!-- ใช้ HTML5 ทำงานทุกอุปกรณ์รองรับหมดแล้ว  -->
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php
//header("content-type:text/javascript;charset=utf-8");
	ini_set('sqlsrv.charset', 'UTF-8');
	ini_set('display_errors', 1);
	error_reporting(~0);

   $serverName = "";
   $userName = "";
   $userPassword = "";
   $dbName = "";
  
   $connectionInfo = array("Database"=>$dbName, "UID"=>$userName, "PWD"=>$userPassword, "MultipleActiveResultSets"=>true);

   $conn = sqlsrv_connect( $serverName, $connectionInfo);

      if( $conn === false ) {
      die( print_r( sqlsrv_errors(), true));
   }

	//mssql_query("SET NAMES UTF8");
	
	// $_POST["txtKeyword"] = "a"; // for Sample

$strKeyword = null;

	if(isset($_POST["txtKeyword"]))
	{
		$strKeyword = $_POST["txtKeyword"];
	}

	//$strKeyword = $_POST["txtKeyword"];
	$stmt = "SELECT * FROM member2 WHERE Name LIKE '%".$strKeyword."%'  ORDER BY MemberID ASC  ";

	$params = array();
	$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
	$query = sqlsrv_query( $conn, $stmt , $params, $options );
//	$resultArray = array();
//	$objQuery = sqlsrv_query($conn,$strSQL);
	$intNumField = sqlsrv_num_fields($query);
	while($obResult = sqlsrv_fetch_array($query))
	{
		$arrCol = array();
		for($i=0;$i<$intNumField;$i++)
		{
			$params[sqlsrv_field_name($query,$i)] = $obResult[$i];

		}
		array_push($params,$arrCol);
	}



sqlsrv_close($conn);
	
	echo json_encode($params);
?>
</body>
</html>



ตอนนี้ติด Error อยู่ตรงนี้ ครับ

Fatal error: Call to undefined function sqlsrv_field_name() in C:\xampp\htdocs\showAllData.php on line 51

ผมคิดว่า function ที่ใช้ไม่น่าจะถูก ผมพึ่งเคยใช้ sqlsrv ผมเลยไม่รู้ว่าจะเขียนยังไงต่ออะ ครับ รบกวนช่วยบอกวิธีให้หน่อย ครับ ขอบคุณ ครับ

ผมลอง echo ออกมาแล้วเป็นภาษาไทยละ ครับ ก่อนหน้านั้น echo ออกมากะยังเป็นช่องว่างๆ (ถ้าไม่ใส่ตารางให้มันกะจะไม่อ่านภาษาไทยเลย ) แต่ตอนนี้ไม่ต้องใส่ตารางกะอ่านละ ครับ แต่ผมยังติดปัญหาที่ เรียกดึงใช้จาก php อะ ครับ ผมลองใส่

sqlsrv_get_field


ผลปรากฏได้ผลลัพธ์
["22",[],[],[],[]]


แต่เมื่อไปลองกดดูใน android ไม่มีข้อมูลอะไรขึ้นเลย ครับ หรือผมเรียกใช้มันผิดวิธี ครับ


ประวัติการแก้ไข
2016-08-16 16:40:54
2016-08-16 16:45:45
2016-08-16 16:45:48
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-16 16:10:41 By : PuYo
 


 

No. 16



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


ตัวอย่าง sqlsrv
Code (PHP)
$stmt = "SELECT * FROM member2 WHERE Name LIKE ? ORDER BY MemberID ASC  ";
$params = array('%'.$strKeyword.'%');
$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$query = sqlsrv_query( $conn, $stmt , $params, $options );
$rows = array();
while($obResult = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC)){
	$rows[]=$objResult;
}
echo json_encode($rows);


ปล.ถามนิด android เรียกผ่าน browser อะไรครับ หรือเขียน app ขึ้นเอง


ประวัติการแก้ไข
2016-08-16 21:57:01
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-16 21:48:32 By : Chaidhanan
 


 

No. 17



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



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


ตอบความคิดเห็นที่ : 16 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-08-16 21:48:32
รายละเอียดของการตอบ ::
ปล.ถามนิด android เรียกผ่าน browser อะไรครับ หรือเขียน app ขึ้นเอง

ส่วนอันนี้ผมยังไม่เข้าใจคำถามอะ ครับ ขอตอบตามความเข้าใจของผมนะ ครับ

ถ้า browser ผมใช้รัน Code เปิดจาก Google Chrome วิธีการเชื่อมกะหาอ่านจาก บทความ thaicraete android หัวข้อเกี่ยวกับ Connect Webserver

ขอบคุณสำหรับคำแนะนำนะ ครับ เดี๋ยวตอนเช้าผมจะไปทดสอบดู ครับ ถ้าติดปัญหาอะไร รบกวนขอคำแนะนำด้วยนะ ครับ ขอบคุณ ครับ ^/l\^



ประวัติการแก้ไข
2016-08-16 23:32:04
2016-08-16 23:32:20
2016-08-16 23:33:55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-16 23:29:19 By : PuYo
 


 

No. 18



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



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


code ที่ให้มาเกิดปัญหาตรงนี้ ครับ

$rows[]=$objResult;


Error ออกมา

Undefined variable: objResult


มีผลลัพธ์ที่แสดงออกมา ครับ
[null,null,null,null]



แก้ได้ละ ครับ ต้องเปลี่ยนจาก objResult ไปเป็น params ตัวแปรคนละตัวกัน ผมกะคิดซะไกลเลย

ได้ผลลัพธ์ออกมาเป็นภาษาไทยแล้ว ครับ เดี๋ยวผมขอเขียน Code สักครู่แล้วจะมาเล่าให้ฟังเกี่ยวกับเหตุการณ์ของผมเพื่อมีคนอื่นติดปัญหาเดียวกับผมนะ ครับ


ประวัติการแก้ไข
2016-08-17 09:02:06
2016-08-17 09:04:31
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-17 08:17:35 By : PuYo
 


 

No. 19



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


Code
while($obResult = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC)){ $rows[]=$objResult; }


$obResult กับ $objResult
ผมพิมพ์ผิด น่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-17 09:12:59 By : Chaidhanan
 


 

No. 20



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



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


ตอนนี้ผมเกิดปัญหาทาง Android ครับ ซึ่งข้อมูลทาง Database ของผมเยอะมาก จนทำให้ php ต้องเก็บความจุเป็น 1024m ถึงจะใช้ได้ แต่ php โหลดช้ามาก ครับ แล้วก็ถ้าโหลดข้อมูลเกิน 30 วิ กะจะ Error ทันทีผมกะแก้วิธีโดยใช้
ini_set('max_execution_time', 160); 
ใส่ลงไป ทีนี้ได้ข้อมูลมาทาง php แล้ว แต่ ทาง Android เวลาผมกดค้นโปรแกรมกะจะ crash ไปทันที ครับ ลองใช้ ProgressBar ไปแล้วกะเหมือนเดิม ครับ ค้นหาไปได้ แปปหนึ่ง กะหลุด ครับ พอจะมีแนวทางและวิธีแก้ไหม ครับ อยากให้ค้นหาเร็วขึ้น ครับ


ประวัติการแก้ไข
2016-08-17 16:07:47
2016-08-17 16:53:35
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-17 15:45:07 By : PuYo
 


 

No. 21



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


โอเยอะขนาดนั้น android ส่วนใหญ่มี internal memory แค่ 2 gb เองครับ
โปรแกรมโน่นนี่นั่น ก็เหลือให้ใช้ อย่างเก่งก็ไม่ถึง 500K
มี swap file ก็นิดหน่อย ไม่เยอะขนาดนั้น โหลดได้นี่ก็เก่งแล้วครับ ไม่ต้องถึงกับทำงานด้วย

พยายาม ใช้ ajax ให้มากที่สุดครับ
ตัดการแสดง list ยาวๆ ออกไป ทำ pagination ทดแทนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-18 08:00:33 By : Chaidhanan
 


 

No. 22



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



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


ตอบความคิดเห็นที่ : 21 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-08-18 08:00:33
รายละเอียดของการตอบ ::
ขอบคุณ ครับ เดี๋ยวผมจะลองหาอ่านบทความใน thaicreate ครับ

สอบถามเพิ่ม ครับ แล้วถ้างี้เราแบ่งเป็นหน้า ๆ เช่น หน้า 1 หน้า 2 แล้วตอน Android มันจะอ่านเฉพาะ หน้า 1 อย่างเดียวใช่ไหม ครับ แต่แค่ให้ php แบ่งเป็นหน้าๆ ไว้ ผมเข้าใจถูกไหมอะ ครับ หรือ android สามารถกำหนดเลือกหน้าได้เหมือนกัน



ประวัติการแก้ไข
2016-08-18 08:13:26
2016-08-18 08:24:09
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-18 08:07:08 By : PuYo
 


 

No. 23



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


เขียนโปรแกรม ฝั่ง server(php) ให้รองรับการ request เฉพาะหน้า ที่ต้องการ (pagination)
ถ้าไม่บอกเลขหน้าก็แสดงหน้าแรก

ไม่ว่าจะเป็น อุปกรณ์ใดๆ เมื่อเรียกผ่าน web service (iis | apache | etc.)
(ในที่นี้ ใช้ php เป็นตัวแปรภาษา) ก็จะได้ข้อมูลเหมือนๆ กัน ไม่จำเป็นว่าจะต้องเป็นอุปกรณ์ใดอุปกรณ์หนึ่ง

ยกตัวอย่างการเขียน php ให้ generate ข้อมูลเป็น ภาษา html / javascript โดยใช้ bootstrap
ไม่ว่าจะรันบนอุปกรณ์ใด ก็จะได้ข้อมูลเหมือนๆ กัน อาจจะต่างตำแหน่ง แต่ก็อยู่ภายใต้การกำหนด ของผู้เขียน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-18 08:57:29 By : Chaidhanan
 


 

No. 24



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



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


ตอบความคิดเห็นที่ : 23 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-08-18 08:57:29
รายละเอียดของการตอบ ::
โอเค ครับ ขอบคุณมากๆ เลย ครับ

ตอนนี้ผมกำลังทำ pagination อยู่ให้เข้ากับ array อยู่ตอนนี้มัน Error ไม่รู้ผมประกาศผิดตัวแปรเปล่า ถ้ายังไงเดี๋ยวผมจะลองดู ถ้าไม่ได้รบกวนขอคำแนะนำด้วยนะ ครับ ขอบคุณมากๆ เลย ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-18 09:05:49 By : PuYo
 


 

No. 25



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



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


แก้ได้ละ ครับ ผมใช้คำสั่งผิดไป


ประวัติการแก้ไข
2016-08-18 10:16:23
2016-08-18 10:28:16
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-18 10:15:28 By : PuYo
 


 

No. 26



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



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


บรรทัดที่ 37 ,38 ตก WHERE ไปไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-18 10:23:59 By : Suthee2522
 


 

No. 27



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



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


ตอบความคิดเห็นที่ : 26 เขียนโดย : Suthee2522 เมื่อวันที่ 2016-08-18 10:23:59
รายละเอียดของการตอบ ::
ไม่ ครับ พอดีผมไปใช้คำสั่งของ mysqli อะ ครับ ผมเปลี่ยนมาคำสั่งของ sqlsrv ละ ครับ จากบทความนี้ https://www.thaicreate.com/php/php-sql-server-sqlsrv-paging.html

ขอบคุณสำหรับคำแนะนำด้วย ครับ



ประวัติการแก้ไข
2016-08-18 10:31:15
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-18 10:30:50 By : PuYo
 


 

No. 28



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



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


ตอนนี้ผมเริ่มขยับไปทางส่วนของ edit/update แล้ว ครับ ตอนนี้สิ่งที่ผมได้ คือภาษาไทย ค้นหาเจอแล้ว ตอนนี้ผมเหลือ edit/update ซึ่งผมลองทำดูแล้วจากบทความนี้

https://www.thaicreate.com/php/php-sql-server-sqlsrv-edit-update.html

ผมไม่รู้ว่าคำสั่งใช้เหมือนกันไหม สำหรับการเรียก Android ผมอยากทำให้ได้เหมือนบทความของ Android อันนี้

https://www.thaicreate.com/mobile/android-edit-update-server-database.html

ซึ่งตอนนี้ผมติดปัญหาตอนที่จะกด edit ไปแล้วมันไม่ยอมแสดงข้อมูลต่างๆขึ้นมาในตอน edit/update ครับ

พอจะมี Code ตัวอย่างไหม ครับ หรือ ชี้แนะ แนวทางให้หน่อยได้ไหม ครับ คุณ Chaidhanan

ขอบคุณ ครับ


ประวัติการแก้ไข
2016-08-18 16:21:44
2016-08-18 16:22:42
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-18 16:20:12 By : PuYo
 


 

No. 29



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


Code (JavaScript)
<button data-id="<?=$objResult->record_id?>">Edit</button>
<script>
$(document).ready(function(){
  $('button').click(function(){
    location.href='/program_for_edit.php?id='+$(this).data('id');
  })
})
</script>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-18 18:34:08 By : Chaidhanan
 


 

No. 30



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



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


ตอบความคิดเห็นที่ : 29 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-08-18 18:34:08
รายละเอียดของการตอบ ::
ตัวนี้ต้องไปเพิ่มในส่วน JAVA ที่โชว์ข้อมูล เพื่อเรียกใช้ใช่มะ ครับ ผมต้องตัดปุ่มทิ้งออกไป เพราะผมไม่ได้ใช้ปุ่ม ผมเรียกใช้ผ่าน Android



ประวัติการแก้ไข
2016-08-18 18:56:48
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-18 18:53:35 By : PuYo
 


 

No. 31



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


เราอยากให้ android show ปุ่มก็ได้ครับ ถ้าเรียกผ่าน browser
ปุ่มไม่จำเป็นต้องเป็น button อาจจะใช้ tag อื่น โดนใส่ event ตามที่เราต้องการลงไป
เพื่อที่จะให้เกิดการกระทำใดๆ ก็ได้

เพราะเป็น android เลยไม่ใส่ปุ่ม ผมงงนะเนี่ย
ใช้ application อะไรเขียนบน android ครับ

อ้อใช้ java java ก็สร้างปุ่มได้ครับ ไม่ใช่สร้างไม่ได้
แต่ผมจำคำสั่งไม่ได้แล้ว java รู้แต่ไวยกรณ์ คืนหนังสือไปหมดแล้ว 555

https://www.thaicreate.com/java/java-gui-swing-jbutton.html
https://www.youtube.com/watch?v=RV2lsjNwV84


ประวัติการแก้ไข
2016-08-18 19:13:44
2016-08-18 19:15:50
2016-08-18 19:17:49
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-18 19:10:41 By : Chaidhanan
 


 

No. 32



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



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


ตอบความคิดเห็นที่ : 31 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-08-18 19:10:41
รายละเอียดของการตอบ ::
อ๋อ ขอโทษที ครับผมพิมไม่กระจ่างเอง ผมหมายถึงปุ่มใน php อะ ครับ ที่ให้ edit ในเว็บผมอาจไม่ได้ใช้มันอะ ครับ

แล้วก็ Code ที่ให้มานี้ให้ไปใส่ function ในปุ่มตอนค้นหา Android ถูกไหม ครับ

ขอโทษกับความคิดเห็นที่ 30 ด้วยนะ ครับ รีบไปหน่อยเลยไม่ได้เรียบเรียง

ขอถามเพิ่มเติม ส่วนทาง php นี้ code ถูกต้องละใช่มะ ครับ ตามบทความเลย แค่แก้ไขทางฝั่ง Android แต่ตอนผมลองรัน php ดูมันขึ้น Error ในบรรทัดนี้ขึ้นมาอะ ครับ รู้สึกมันจะหาตัวแปรพวก txtName ไม่เจออะ ครับ

 $params = array($_POST["txtName"], $_POST["txtEmail"], $_POST["txtCountryCode"], $_POST["txtBudget"], $_POST["txtUsed"],$_POST["txtCustomerID"]); 


จากบทความ https://www.thaicreate.com/php/php-sql-server-sqlsrv-edit-update.html



ประวัติการแก้ไข
2016-08-18 19:57:48
2016-08-18 19:58:46
2016-08-18 19:58:50
2016-08-18 19:58:53
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-18 19:57:26 By : PuYo
 


 

No. 33



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


ต้องคุยเรื่อง environment กันใหม่แล้วครับ

ตอนนี้คุณมี web service ที่ใช้ php เป็นภาษาฝั่ง server

///////////////////////////////////////////////////////////////////////////////////////////////////
บนอุปกรณ์ android
คุณใช้ chrome เป็น browser ในการติดต่อกับ web service
หรือ
คุณใช้ application อื่นๆ ในการเขียน parser ขึ้นมาใช้งานเอง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-19 06:16:37 By : Chaidhanan
 


 

No. 34



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



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


ตอบความคิดเห็นที่ : 33 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-08-19 06:16:37
รายละเอียดของการตอบ ::
เดี๋ยวขออธิบายหลักการทำงานของแอพตอนนี้ที่ผมทำนะ ครับ

คือผมจะทำแอพเกี่ยวกับการเปลี่ยนรายชื่อสินค้า ( ค้นหา Edite/Update ไม่มีการ Add สินค้า ) ใน Database ( ms sql server 2014 ) โดยให้เปลี่ยนข้อมูลจาก Android โดยผมใช้ PHP เป็นตัวกลางเรียกข้อมูลมาแล้วส่งกลับไปเป็น JSON ทาง PHP ผมไม่ได้ยุ่งเกี่ยวอะไรเลย ( แต่แค่ผมชอบรันผลลัพธ์บนเว็บมันออกมาก่อนที่จะไปรันต่อบน Android ครับ )

ดังนั้นผมใช้แค่ Android ในการดึงข้อมูลผ่าน PHP ไปติดต่อกับ Server ครับ ผมไม่ได้ทำเกี่ยวกับเว็บเลย ครับ ผมทำบน Android ล้วนเลย ครับ แต่แค่ผมติดปัญหาที่ผมไม่เคยใช้เกี่ยวกับคำสั่ง PHP พวก mssql , sqlsrv (ตอนนี้ที่ใช้คือ sqlsrv) ที่ผมเคยทำมาทำแต่ mysql ครับ หลักการทำงานผมกะเลย งงๆ

ปล. ในความคิดของผมที่บอกไม่ได้ยุ่งเกี่ยวกับ PHP เลย หมายถึง ผมไม่ได้ทำเว็บขึ้นมา ครับ แค่เป็นตัวกลางเชื่อมข้อมูลให้ Android เฉยๆ ครับ



ประวัติการแก้ไข
2016-08-19 08:19:17
2016-08-19 08:20:45
2016-08-19 08:24:06
2016-08-19 08:25:17
2016-08-19 08:29:21
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-19 08:18:25 By : PuYo
 


 

No. 35



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


อุปกรณ์ติดต่อ web service คือ android

แล้ว parser ที่ใช้ รันบน android คือ Application อะไรสักอย่าง
parser (application) ตัวนั้นชื่ออะไรครับ

เพราะคงจะใช้ android เปล่าๆ ติดต่อกับ web service ไม่ได้ครับ

เช่นใช้ google chrome
หรือจะใช้ web browser (tool ที่มากับเครือง android)
หรือ teamview
หรือ vpn
หรือ อื่นๆ

ต้องมีซักแอป ล่ะครับ


ปล. สงสัยจะเข้าใจผิด

ทางเดินของการ transfer ข้อมูล คือ
Android <---> Data Server(ที่คุณเขียนขึ้นเอง) <---> Server ที่คุณติดต่อด้วย

แบบนี้หรือเปล่าครับ 5555 ชังงง


ประวัติการแก้ไข
2016-08-19 08:49:37
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-19 08:44:09 By : Chaidhanan
 


 

No. 36



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



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


ผมก็ งง เหมือนกัน ครับ ผมกะไม่ค่อยเข้าใจ parser ว่าคืออะไร ผมยังไม่ค่อยรู้เยอะ ครับ

ลองเข้าไปดูบทความอันนี้ ดีกว่า ครับ https://www.thaicreate.com/mobile/android-edit-update-server-database.html ผมทำตามบทความอันนี้เลย อาจจะตอบโจทย์ได้ดีกว่าผม

ส่วนอุปกรณ์ที่ผมใช้มี

Android Studio
Web Browser ( IE , Google Chome แต่ส่วนมากใช้ Google )
XAMPP
Editplus

ต้องขออภัยด้วยนะ ครับ ผมอาจจะยังไม่รู้เยอะเท่าไหร่ รบกวนช่วยแนะนำชี้แนะด้วยนะ ครับ


ประวัติการแก้ไข
2016-08-19 09:05:54
2016-08-19 09:06:42
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-19 09:05:17 By : PuYo
 


 

No. 37



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



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


ตอนนี้ผมทำ Code เสร็จแล้ว (ในส่วนของ ShowAlldata เท่านั้น ) จากบทความที่ผมทำจะเรียก Code PHP ทั้งหมด 3 ส่วน
อันนี้ Code ในส่วน Showalldata ตอนเข้าหน้าโปรแกรมมามันจะ showdata ทั้งหมดในโปรแกรม ซึ่งอันนี้เสร็จไปที่เรียบร้อยแล้ว

<?php
//header("content-type:text/javascript;charset=utf-8");
	ini_set('sqlsrv.charset', 'UTF-8');
	//ini_set('memory_limit' '1024m');
	//ini_set('max_execution_time', 160);
	ini_set('display_errors', 1);
	error_reporting(~0);

   $serverName = "";
   $userName = "";
   $userPassword = "";
   $dbName = "";
  
   $connectionInfo = array("Database"=>$dbName, "UID"=>$userName, "PWD"=>$userPassword, "MultipleActiveResultSets"=>true,"CharacterSet"  => 'UTF-8');

   $conn = sqlsrv_connect( $serverName, $connectionInfo);

      if( $conn === false ) {
      die( print_r( sqlsrv_errors(), true));
   }

	//mssql_query("SET NAMES UTF8");
	
	// $_POST["txtKeyword"] = "a"; // for Sample

$strKeyword = null;

	if(isset($_POST["txtKeyword"]))
	{
		$strKeyword = $_POST["txtKeyword"];
	}

$stmt = "SELECT * FROM member2 WHERE Name LIKE ? ORDER BY MemberID ASC  ";

$params = array('%'.$strKeyword.'%');
$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$query = sqlsrv_query( $conn, $stmt , $params, $options );

$num_rows = sqlsrv_num_rows($query);

	$per_page = 5;   // Per Page
	$page  = 1;
	
	if(isset($_GET["Page"]))
	{
		$page = $_GET["Page"];
	}

	$prev_page = $page-1;
	$next_page = $page+1;

	$row_start = (($per_page*$page)-$per_page);
	if($num_rows<=$per_page)
	{
		$num_pages =1;
	}
	else if(($num_rows % $per_page)==0)
	{
		$num_pages =($num_rows/$per_page) ;
	}
	else
	{
		$num_pages =($num_rows/$per_page)+1;
		$num_pages = (int)$num_pages;
	}
	$row_end = $per_page * $page;
	if($row_end > $num_rows)
	{
		$row_end = $num_rows;
	}


	$sql = " SELECT c.* FROM (
		SELECT ROW_NUMBER() OVER(ORDER BY MemberID) AS RowID,*  FROM member2
		) AS c 
	WHERE c.RowID > $row_start AND c.RowID <= $row_end
	";
	$query = sqlsrv_query( $conn, $sql );

$rows = array();

while($obResult = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC)){
	$rows[]=$obResult;
}


sqlsrv_close($conn);
	
	echo json_encode($rows);
?>


ผลลัพธ์ที่ได้จากการ Showalldata

01

ต่อมาอันนี้เป็น Code ไว้เรียก ID ตอนที่เราจะเลือก Update/Edite สินค้าตัวนั้นอะ ครับ (getMemberID)

<?php
//header("content-type:text/javascript;charset=utf-8");
	ini_set('sqlsrv.charset', 'UTF-8');
	//ini_set('memory_limit' '1024m');
	//ini_set('max_execution_time', 160);
	ini_set('display_errors', 1);
	error_reporting(~0);

   $serverName = "";
   $userName = "";
   $userPassword = "";
   $dbName = "";
  
   $strMemberID = null;

   if(isset($_GET["MemberID"]))
   {
	   $strMemberID = $_GET["MemberID"];
   }

   $connectionInfo = array("Database"=>$dbName, "UID"=>$userName, "PWD"=>$userPassword, "MultipleActiveResultSets"=>true,"CharacterSet"  => 'UTF-8');

   $conn = sqlsrv_connect( $serverName, $connectionInfo);

      if( $conn === false ) {
      die( print_r( sqlsrv_errors(), true));
   }

	
	//$_POST["sMemberID"] = "1"; // for Sample

	$stmt = "SELECT * FROM member2 WHERE MemberID = ? ";
	$params = array($strMemberID);
	$query = sqlsrv_query( $conn, $stmt, $params);
	$result = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC); 
	if($query)
	{
		$arr["MemberID"] = $query["MemberID"];
		$arr["Username"] = $query["Username"];
		$arr["Password"] = $query["Password"];
		$arr["Name"] = $query["Name"];
		$arr["Email"] = $query["Email"];
		$arr["Tel"] = $query["Tel"];
	}
	
	sqlsrv_close($conn);

	/*** return JSON by MemberID ***/
	/* Eg :
	{"MemberID":"2",
	"Username":"adisorn",
	"Password":"adisorn@2",
	"Name":"Adisorn Bunsong",
	"Tel":"021978032",
	"Email":"[email protected]"}
	*/
	
	echo json_encode($arr);
?>


ผลลัพธ์ที่ได้ออกมาบนเว็บ

02

ต่อมาเป็น Update สินค้า

<?php
//header("content-type:text/javascript;charset=utf-8");
	ini_set('sqlsrv.charset', 'UTF-8');
	//ini_set('memory_limit' '1024m');
	//ini_set('max_execution_time', 160);
	ini_set('display_errors', 1);
	error_reporting(~0);

   $serverName = "";
   $userName = "";
   $userPassword = "";
   $dbName = "";
  


   $connectionInfo = array("Database"=>$dbName, "UID"=>$userName, "PWD"=>$userPassword, "MultipleActiveResultSets"=>true,"CharacterSet"  => 'UTF-8');

$conn = sqlsrv_connect( $serverName, $connectionInfo);

	if( $conn === false ) {
		die( print_r( sqlsrv_errors(), true));
	}

  
   $strMemberID = null;

   if(isset($_GET["MemberID"]))
   {
	   $strMemberID = $_GET["MemberID"];
   }

	$stmt = "SELECT * FROM member2 WHERE MemberID = ? ";
	$params = array($strMemberID);
	$query = sqlsrv_query( $conn, $stmt, $params);
	$result = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC); 
if($result)
	{
		$arr['StatusID'] = "0"; 
		$arr['Error'] = "Email Exists!";	
		echo json_encode($arr);
		exit();
	}

	/*** Update ***/
	$stmt = " UPDATE member2 SET
		Password = ? 
		,Name = ? 
		,Email = ? 
		,Tel = ? 
		WHERE MemberID = ?
	";

	$params = array($_POST["sPassword"], $_POST["sName"], $_POST["sEmail"], $_POST["sTel"],$_POST["sMemberID"]);

	$query = sqlsrv_query( $conn, $stmt, $params);
	if(!$query)
	{
		$arr['StatusID'] = "0"; 
		$arr['Error'] = "Cannot save data!";	
	}
	else
	{
		$arr['StatusID'] = "1"; 
		$arr['Error'] = "";	
	}

	/**
		$arr['StatusID'] // (0=Failed , 1=Complete)
		$arr['Error'] // Error Message
	*/

	sqlsrv_close($conn);

	echo json_encode($arr);
?>
</body>
</html>


ผลลัพธ์ที่ได้ออกมาบนเว็บ มี Error

03

ตอนนี้ติดปัญหาตรงนี้และ ครับ Select ID และ Update พอจะแนะนำได้มะ ครับ

จาก php ที่เรียกใช้ ID ผลลัพธ์จะเห็นเป็น MemberID=null กับ Name=null อันนี้ผมไม่เคยเห็นมันจะเรียกใช้ได้เหมือนกันไหม ครับ ผมเคยเห็นใน mysql เวลาเรียกใช้มันจะเป็น null เลย ครับ มันจะไม่มี MemberID=null


ประวัติการแก้ไข
2016-08-19 10:35:42
2016-08-19 10:38:44
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-19 10:31:28 By : PuYo
 


 

No. 38



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


Code
35.$result = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC); 36.if($query) 37.{ 38.$arr["MemberID"] = $query["MemberID"]; 39.$arr["Username"] = $query["Username"]; 40.$arr["Password"] = $query["Password"]; 41.$arr["Name"] = $query["Name"]; 42.$arr["Email"] = $query["Email"]; 43.$arr["Tel"] = $query["Tel"]; 44.}


แก้เป็น
Code (PHP)
if($query)
{
  $result = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC);
  $arr["MemberID"] = $result ["MemberID"];
  $arr["Username"] = $result ["Username"];
  $arr["Password"] = $result ["Password"];
  $arr["Name"] = $result ["Name"];
  $arr["Email"] = $result ["Email"];
  $arr["Tel"] = $result ["Tel"];
}


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-19 13:02:37 By : Chaidhanan
 


 

No. 39



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



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


ตอบความคิดเห็นที่ : 38 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-08-19 13:02:37
รายละเอียดของการตอบ ::

อ่า ขอโทษด้วย ครับ มันต้องห้ามขึ้น null ผมลองไปรันดูแล้ว มันกะยังขึ้น null ( ถ้าลองเขียนโค้ดเป็นแบบ mysql ผลลัพท์มันขึ้นมาเป็น false ครับ มันถึงจะเรียกข้อมูลจากที่ Select ครับ )

02




ประวัติการแก้ไข
2016-08-19 13:27:16
2016-08-19 14:55:32
2016-08-19 14:56:29
2016-08-19 14:57:38
2016-08-19 15:12:24
2016-08-19 15:40:14
2016-08-19 15:42:00
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-19 13:26:41 By : PuYo
 


 

No. 40



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



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


ขอดัน ครับ ตอนนี้ยังแก้ไม่ได้ ในส่วนที่ 2 และ ส่วนที่ 3 ครับ

ส่วนที่ 2 ที่ติดปัญหาอยู่เลย คือ select ข้อมูลมาให้ Show ข้อมูล ครับ

ส่วนที่ 3 ขึ้นตามรูปภาพ ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-20 08:58:19 By : PuYo
 


 

No. 41



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


ลืมตรวจสอบ query num_row
และ การคิวรี่ ที่ถูกต้อง

Code (PHP)
$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$stmt = "SELECT * FROM member2 WHERE MemberID = ? ";
$params = array($strMemberID);
$query = sqlsrv_query( $conn, $stmt, $params,$options);
if(sqlsrv_num_rows($query)>0){
    $result=sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC);
   echo json_encode($result);
}else echo 'Not found data';

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-20 09:53:58 By : Chaidhanan
 


 

No. 42



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



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


ตอบความคิดเห็นที่ : 41 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-08-20 09:53:58
รายละเอียดของการตอบ ::
ลองไปใส่ดูแล้วกะยังไม่ได้ ครับ

<?php
//header("content-type:text/javascript;charset=utf-8");
	ini_set('sqlsrv.charset', 'UTF-8');
	//ini_set('memory_limit' '1024m');
	//ini_set('max_execution_time', 160);
	ini_set('display_errors', 1);
	error_reporting(~0);

   $serverName = "";
   $userName = "";
   $userPassword = "";
   $dbName = "";
  
   $strMemberID = null;

   if(isset($_GET["MemberID"]))
   {
	   $strMemberID = $_GET["MemberID"];
   }
  


   $connectionInfo = array("Database"=>$dbName, "UID"=>$userName, "PWD"=>$userPassword, "MultipleActiveResultSets"=>true,"CharacterSet"  => 'UTF-8');

   $conn = sqlsrv_connect( $serverName, $connectionInfo);

      if( $conn === false ) {
      die( print_r( sqlsrv_errors(), true));
   }
	

	//$_POST["sMemberID"] = "1"; // for Sample

$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$stmt = "SELECT * FROM member2 WHERE MemberID = ? ";
$params = array($strMemberID);
$query = sqlsrv_query( $conn, $stmt, $params,$options);


if(sqlsrv_num_rows($query)>0){
  $result = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC);
  $arr["MemberID"] = $result ["MemberID"];
  $arr["Username"] = $result ["Username"];
  $arr["Password"] = $result ["Password"];
  $arr["Name"] = $result ["Name"];
  $arr["Email"] = $result ["Email"];
  $arr["Tel"] = $result ["Tel"];
     echo json_encode($result);
} echo 'Not found data';

	
	sqlsrv_close($conn);

	/*** return JSON by MemberID ***/
	/* Eg :
	{"MemberID":"2",
	"Username":"adisorn",
	"Password":"adisorn@2",
	"Name":"Adisorn Bunsong",
	"Tel":"021978032",
	"Email":"[email protected]"}
	*/
	
	//echo json_encode($arr);
?>


ผมลองตัดออกไป

  $arr["MemberID"] = $result ["MemberID"];
  $arr["Username"] = $result ["Username"];
  $arr["Password"] = $result ["Password"];
  $arr["Name"] = $result ["Name"];
  $arr["Email"] = $result ["Email"];
  $arr["Tel"] = $result ["Tel"];


ผลลัพธ์กะได้ออกมาเป็นแบบเดิมคือขึ้น

Not found data


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-20 11:03:30 By : PuYo
 


 

No. 43



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


14.$strMemberID = null;
15.
16.if(isset($_GET["MemberID"]))
17.{
18.$strMemberID = $_GET["MemberID"];
19.}

แก้เป็น
Code (PHP)
$strMemberID = isset($_GET["MemberID"])? $_GET["MemberID"] : '';
if( strlen( $strMemberID) ==0 ) die( 'No Member ID');// ตรงนี้ กำหนด flow การทำงานเองนะครับแค่ตัวอย่างตรวจสอบ


ทำการตรวจสอบตัวแปรที่ส่งมาก่อนว่า ส่งมาถูกต้องไหม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-20 12:38:23 By : Chaidhanan
 


 

No. 44



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



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


ตอบความคิดเห็นที่ : 43 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-08-20 12:38:23
รายละเอียดของการตอบ ::
ลองทำตามที่บอกแล้ว ครับ

ได้ผลลัพธ์ออกมาเป็น
No Member ID


ผมขอถามอะไรเพิ่มเติมหน่อย ครับ พอดีผมทำตามบทความ 2 อันนี้

1. ทำ update php ของ sqlsrv ตามบทความนี้ แล้วนำไปดัดแปลงใช้ในข้อที่ 2

https://www.thaicreate.com/php/php-sql-server-sqlsrv-edit-update.html

2. อันนี้ผมทำตามในส่วนของ Android แล้วนำมาดัดแปลงให้เข้ากับ php ทำตามบทความนี้

https://www.thaicreate.com/mobile/android-edit-update-server-database.html

ผมอยากทราบว่าทั้ง 2 บทความนี้นำมาดัดแปลงได้ไหม ครับ ? หรือต้องทำการเขียนขึ้นมาใหม่เลย

อันนี้พูดในส่วนของ php อย่างเดียวนะ ครับ

ปล. จะเห็นว่าในส่วนข้อที่ 2 เป็นการเขียนแบบ mysql ผมกะนำไปดัดแปลงให้ใช้คำสั่งใน sqlsrv ในส่วนของข้อที่ 1



ประวัติการแก้ไข
2016-08-20 13:07:12
2016-08-20 13:08:00
2016-08-20 13:09:26
2016-08-20 13:09:38
2016-08-20 13:11:46
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-20 13:03:26 By : PuYo
 


 

No. 45



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


จากตัวอย่าง ผม
8.}else echo 'Not found data';

ที่คุณทำ
49.} echo 'Not found data';
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-21 08:14:46 By : Chaidhanan
 


 

No. 46



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



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


ตอบความคิดเห็นที่ : 45 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-08-21 08:14:46
รายละเอียดของการตอบ ::
ขอบคุณ ครับ เดี๋ยววันจันทร์ผมจะลองดู ครับ ได้ผลลัพธ์ยังไงเดี๋ยวมาบอกอีกที ครับ

ขอบคุณ ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-21 11:52:56 By : PuYo
 


 

No. 47



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



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


ตอนนี้ผมลองแก้ดูแล้ว ครับ ตรวจสอบดูว่า ยังไม่เจอ MemberID ครับ

<?php
//header("content-type:text/javascript;charset=utf-8");
	ini_set('sqlsrv.charset', 'UTF-8');
	ini_set('display_errors', 1);
	error_reporting(~0);

   $serverName = "";
   $userName = "";
   $userPassword = "";
   $dbName = "";
  
$strMemberID = isset($_GET["MemberID"])? $_GET["MemberID"] : '';

if( strlen( $strMemberID) ==0 ) die( 'No Member ID');// ตรงนี้ กำหนด flow การทำงานเองนะครับแค่ตัวอย่างตรวจสอบ



   $connectionInfo = array("Database"=>$dbName, "UID"=>$userName, "PWD"=>$userPassword, "MultipleActiveResultSets"=>true,"CharacterSet"  => 'UTF-8');


   $conn = sqlsrv_connect( $serverName, $connectionInfo);

      if( $conn === false ) {
      die( print_r( sqlsrv_errors(), true));
   }

$stmt = "SELECT * FROM member2 WHERE MemberID = ? ";
$params = array($strMemberID);
$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$query = sqlsrv_query( $conn, $stmt , $params, $options );

if(sqlsrv_num_rows($query)>0){
  $result = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC);
  $arr["MemberID"] = $result ["MemberID"];
  $arr["Username"] = $result ["Username"];
  $arr["Password"] = $result ["Password"];
  $arr["Name"] = $result ["Name"];
  $arr["Email"] = $result ["Email"];
  $arr["Tel"] = $result ["Tel"];
       echo json_encode($result);
}else echo 'Not found data';
	

	
	sqlsrv_close($conn);

?>


ผลลัพธ์ได้ออกมาเป็น

No Member ID

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-22 08:20:04 By : PuYo
 


 

No. 48



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


ที่บันทัดแรก ตรวจสอบ input ก่อนว่ามีอะไรมาบ้าง
เมื่อตรวจสอบเสร็จก็ เอาออก หรือ มาร์คไว้ เพื่อไว้เป็นตัวอย่างใช้งานทีหลัง
Code (PHP)
<?php
echo '<pre>',print_r(array('get'=>$_GET, 'post'=>$_POST), true),'</pre>'; exit;

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-22 09:09:44 By : Chaidhanan
 


 

No. 49



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



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


ไปใส่ดูแล้ว ครับ ผลลัพธ์ออกมาเป็น

Array
(
[get] => Array
(
)

[post] => Array
(
)

)


เพิ่มเติม ครับ ลอง Test ใน Android ด้วยการ Edit ข้อมูล กะยังไม่มีการเรียกข้อมูลจากทาง Database มาให้ ครับ


ประวัติการแก้ไข
2016-08-22 09:28:05
2016-08-22 09:28:49
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-22 09:16:33 By : PuYo
 


 

No. 50



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



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

ย้อนกลับไปดู ไฟล์ที่ เรียกลิงค์ นี้ อีกที ว่าใช้คำสั่งเรียก แบบไหน
ถึงไม่ส่งค่าอะไรมาเลย เหมือนเป็นการเรียก ลิงค์เปล่าๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-22 09:31:13 By : NewbiePHP
 


 

No. 51



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



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


ตอบความคิดเห็นที่ : 50 เขียนโดย : NewbiePHP เมื่อวันที่ 2016-08-22 09:31:13
รายละเอียดของการตอบ ::
ผมใช้วิธีเรียกจาก Android WebServer อะ ครับ จากความเห็นที่ 44 ตามที่ผมบอกไว้อะ ครับ จากบทความที่ 2 จะเห็นได้ว่ามีการส่งข้อมูลมา แต่ PHP ผลลัพธ์จะได้ออกมาเป็นขึ้นว่า False แต่ของผมลองนำมาดัดแปลง ดัดแปลงไปดัดแปลงมากลายเป็น null ซึ่งลอง Test ดูแล้ว ตอนกด Edit กลายเป็นว่าขึ้น null ทุกช่องเลย

ขอโทษ ครับ ขอแก้ตรง False นะ ครับ ผมไปลอง Test มาใหม่ ผลลัพธ์ได้เป็น null เหมือนกัน แต่จากบทความได้ข้อมูลออกมาแต่ของผมได้เป็น null ทุกช่อง

Android ผมไม่ได้ไปยุ่งอะไร ผมคิดว่าน่าจะถูกหมดแล้วแล้วแค่ให้ PHP ส่งข้อมูลกลับไปยัง Android เหมือนเดิม ( ไม่ได้แก้ไขอะไรเลยเหมือนตามบทความ )

ลองเข้าไปอ่านบทความนี้ดูอะ ครับ น่าจะตอบโจทย์ได้ดีกว่า ผมยังเขียนไม่ค่อยเก่ง แต่ก็จะพยายาม ครับ

https://www.thaicreate.com/mobile/android-edit-update-server-database.html

ผมต้องทำตามบทความนี้แต่ผมใช้ mysql ไม่ได้เพราะผมเก็บข้อมูลใน ms sql server 2014 ใช้ได้แต่ sqlsrv ผมกะเลยต้องนำมาดัดแปลงให้ใช้ได้


แต่ ถ้าทำตามบทความเลย แก้แบบตรงตัวไปเลย

code บทความ

<?php
	$objConnect = mysql_connect("localhost","root","root");
	$objDB = mysql_select_db("mydatabase");
	
	//$_POST["sMemberID"] = "1"; // for Sample

	$strMemberID = $_POST["sMemberID"];
	$strSQL = "SELECT * FROM member WHERE 1 AND MemberID = '".$strMemberID."'  ";

	$objQuery = mysql_query($strSQL);
	$obResult = mysql_fetch_array($objQuery);
	if($obResult)
	{
		$arr["MemberID"] = $obResult["MemberID"];
		$arr["Username"] = $obResult["Username"];
		$arr["Password"] = $obResult["Password"];
		$arr["Name"] = $obResult["Name"];
		$arr["Email"] = $obResult["Email"];
		$arr["Tel"] = $obResult["Tel"];
	}

	
	mysql_close($objConnect);

	/*** return JSON by MemberID ***/
	/* Eg :
	{"MemberID":"2",
	"Username":"adisorn",
	"Password":"adisorn@2",
	"Name":"Adisorn Bunsong",
	"Tel":"021978032",
	"Email":"[email protected]"}
	*/
	
	echo json_encode($arr);
?>


อันนี้ code ของผมที่ทำแก้ไขคราวๆ ตามบทความไม่ได้เปลี่ยนแปลงอะไรมาก

<?php
	//echo '<pre>',print_r(array('get'=>$_GET, 'post'=>$_POST), true),'</pre>'; exit;
//header("content-type:text/javascript;charset=utf-8");
	ini_set('sqlsrv.charset', 'UTF-8');
	//ini_set('memory_limit' '1024m');
	//ini_set('max_execution_time', 160);
	ini_set('display_errors', 1);
	error_reporting(~0);

   $serverName = "";
   $userName = "";
   $userPassword = "";
   $dbName = "";
  

   $strMemberID = null;

   if(isset($_POST["sMemberID"]))
   {
	   $strMemberID = $_POST["sMemberID"];
   }



   $connectionInfo = array("Database"=>$dbName, "UID"=>$userName, "PWD"=>$userPassword, "MultipleActiveResultSets"=>true,"CharacterSet"  => 'UTF-8');


   $conn = sqlsrv_connect( $serverName, $connectionInfo);

      if( $conn === false ) {
      die( print_r( sqlsrv_errors(), true));
   }

	//$_POST["sMemberID"] = "1"; // for Sample

$stmt = "SELECT * FROM member2 WHERE MemberID = ?";
$params = array($strMemberID);
$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$query = sqlsrv_query( $conn, $stmt , $params, $options );
$result = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC);

	if($result)
	{
		$arr["MemberID"] = $result["MemberID"];
		$arr["Username"] = $result["Username"];
		$arr["Password"] = $result["Password"];
		$arr["Name"] = $result["Name"];
		$arr["Email"] = $result["Email"];
		$arr["Tel"] = $result["Tel"];
	}
	

	
	sqlsrv_close($conn);
	
	echo json_encode($arr);
?>


ได้ผลลัพธ์ Error ออกมาเป็น


Notice: Undefined variable: arr in C:\xampp\htdocs\getByMemberID.php on line 56
null




ประวัติการแก้ไข
2016-08-22 09:46:35
2016-08-22 09:48:05
2016-08-22 09:48:08
2016-08-22 10:03:03
2016-08-22 10:23:41
2016-08-22 10:39:23
2016-08-22 10:40:34
2016-08-22 10:43:42
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-22 09:45:45 By : PuYo
 


 

No. 52



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



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


ตอนนี้แก้ได้ละ ครับ select ได้ข้อมูลมาแล้ว ครับ

แก้ echo json_encode($arr);

เป็น echo json_encode($result);

ผมคิดว่าผมคงคิดไกลเกินไป สงสัยต้องคิดใกล้ๆ ละ ลองกลับมาทำใหม่หมดเลยได้เฉย

ต่อไปผมจะเริ่มทำในส่วนที่ 3 ละ ครับ

ขอบคุณสำหรับทุกความคิดเห็นด้วยนะ ครับ


ประวัติการแก้ไข
2016-08-22 10:46:14
2016-08-22 10:46:58
2016-08-22 11:06:33
2016-08-22 11:07:02
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-22 10:45:52 By : PuYo
 


 

No. 53



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



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


ตอนนี้ผมติดปัญหาเรื่องการเชื่อม ตารางใน Database อะ ครับ ผมคิดว่าในส่วนที่ 2 น่าจะผิดอะ ครับ (ส่วนที่ต้องตัดตารางอันที่ 2 ) รบกวนแนะนำหน่อย ครับ

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

ผลลัพธ์ ERROR ออกมาเป็น

Warning: sqlsrv_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\showAllData.php on line 90
[]


CODE PHP
<?php
//header("content-type:text/javascript;charset=utf-8");
	ini_set('sqlsrv.charset', 'UTF-8');
	//ini_set('memory_limit' '1024m');
	//ini_set('max_execution_time', 160);
	ini_set('display_errors', 1);
	error_reporting(~0);

   $serverName = "";
   $userName = "";
   $userPassword = "";
   $dbName = "";
  
   $connectionInfo = array("Database"=>$dbName, "UID"=>$userName, "PWD"=>$userPassword, "MultipleActiveResultSets"=>true,"CharacterSet"  => 'UTF-8');

   $conn = sqlsrv_connect( $serverName, $connectionInfo);

      if( $conn === false ) {
      die( print_r( sqlsrv_errors(), true));
   }

	//mssql_query("SET NAMES UTF8");
	
	// $_POST["txtKeyword"] = "a"; // for Sample

$strKeyword = null;

	if(isset($_POST["txtKeyword"]))
	{
		$strKeyword = $_POST["txtKeyword"];
	}

$stmt = "SELECT  SFISSUHD.Doc_No, SFISSUHD.Doc_Date, SMITEMMS.Code, SMITEMMS.Name1_Th, SFISSUDT.qty_main, SMUNITMS.Name
FROM         SFISSUHD INNER JOIN
                      SFISSUDT ON SFISSUHD.id = SFISSUDT.SFISSUHD_ID INNER JOIN
                      SMITEMMS ON SFISSUDT.SMITEMMS_ID = SMITEMMS.ID INNER JOIN
                      SMUNITMS ON SFISSUDT.Main_SMUNITMS_ID = SMUNITMS.ID
WHERE SFISSUHD.Doc_No LIKE ?";

$params = array('%'.$strKeyword.'%');
$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$query = sqlsrv_query( $conn, $stmt , $params, $options );
$rows = array();

$num_rows = sqlsrv_num_rows($query);

	$per_page = 5;   // Per Page
	$page  = 1;
	
	if(isset($_GET["Page"]))
	{
		$page = $_GET["Page"];
	}

	$prev_page = $page-1;
	$next_page = $page+1;

	$row_start = (($per_page*$page)-$per_page);
	if($num_rows<=$per_page)
	{
		$num_pages =1;
	}
	else if(($num_rows % $per_page)==0)
	{
		$num_pages =($num_rows/$per_page) ;
	}
	else
	{
		$num_pages =($num_rows/$per_page)+1;
		$num_pages = (int)$num_pages;
	}
	$row_end = $per_page * $page;
	if($row_end > $num_rows)
	{
		$row_end = $num_rows;
	}


	$stmt = "SELECT Doc_No, SFISSUHD.Doc_Date, SMITEMMS.Code, SMITEMMS.Name1_Th, SFISSUDT.qty_main, SMUNITMS.Name FROM (
		SELECT ROW_NUMBER() OVER(ORDER BY Doc_No) AS RowID,*  FROM  SFISSUHD INNER JOIN
                      SFISSUDT ON SFISSUHD.id = SFISSUDT.SFISSUHD_ID INNER JOIN
                      SMITEMMS ON SFISSUDT.SMITEMMS_ID = SMITEMMS.ID INNER JOIN
                      SMUNITMS ON SFISSUDT.Main_SMUNITMS_ID = SMUNITMS.ID
		) AS c 
	WHERE c.RowID > $row_start AND c.RowID <= $row_end
	";
	$query = sqlsrv_query( $conn, $stmt );


while($obResult = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC)){
	$rows[]=$obResult;
}


sqlsrv_close($conn);
	
	echo json_encode($rows);
?>




ประวัติการแก้ไข
2016-08-22 15:15:51
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-22 14:54:19 By : PuYo
 


 

No. 54



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



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


ขออนุญาติดัน ครับ มีใครพอจะทราบบ้างไหม ครับ รบกวนหน่อยนะ ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-22 22:18:48 By : PuYo
 


 

No. 55



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


87. $query = sqlsrv_query( $conn, $stmt ) or die( print_r(sqlsrv_error(),true));

เพิ่มสีแดง ตรวจสอบ error ก่อน
มันมี error ทำไห้ $query ถูกกำหนดค่าเป็น boolean [false]
เอาไป fetch ค่าไม่ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-23 09:53:13 By : Chaidhanan
 


 

No. 56



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



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


*** ตอนนี้แก้ได้ละ ครับ จากที่เขียนไว้ข้างล่าง ***


ตอนนี้แก้ได้ละ ครับ แต่ตอนนี้ติดปัญหาเรื่องการ INNER JOIN อะ ครับ ถ้าใส่ลงไป จะไม่สามารถ save ได้ ยกตัวอย่างของผมคือ ใส่ข้อมูล Update ลงไปแล้ว พอจะ save save ผ่าน แต่ข้อมูลไม่บันทึก ครับ จะกลับเป็นข้อมูลเดิม

แต่ถ้าผมใส่ SELECT แบบตารางเดียว จะ save update ได้

SELECT * FROM SFISSUHD WHERE id


แต่ถ้าผมใส่ INNER JOIN ลงไป ขึ้นว่า save ผ่าน แต่ไม่บันทึกให้ ครับ

SELECT  *
FROM  SFISSUHD INNER JOIN
                      SFISSUDT ON SFISSUHD.id = SFISSUDT.SFISSUHD_ID INNER JOIN
                      SMITEMMS ON SFISSUDT.SMITEMMS_ID = SMITEMMS.ID INNER JOIN
                      SMUNITMS ON SFISSUDT.Main_SMUNITMS_ID = SMUNITMS.ID
WHERE SFISSUHD.id = ?


ใน php ไม่มี Error อะไรเลย ครับ หรือ เป็นที่ทางตัว Android ด้วยรึเปล่า ครับ มันหาค่าไม่ได้ แต่ถ้าตารางเดียวได้ แต่ถ้าหลายตารางไม่ได้เลย


ประวัติการแก้ไข
2016-08-24 09:50:11
2016-08-24 09:51:03
2016-08-24 09:51:58
2016-08-24 09:52:28
2016-08-24 10:34:10
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-24 09:45:43 By : PuYo
 


 

No. 57



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


ก็ต้องตรวจสอบให้ดีว่าทุกตารางมีข้อมูลหรือไม่
เพราะว่า inner join ต้องมีข้อมูล เหมือนกัน ทั้งสองด้าน ถี่งจะมี record มาแสดง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-24 10:59:22 By : Chaidhanan
 


 

No. 58



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



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


ขอบคุณ ครับ คุณ Chaidhanan

ขอสอบถามเพิ่มเติมหน่อย ครับ

1. ถ้าเป็นการ Update/Edit สามารถใส่ INNER JOIN ได้เหมือนกันใช่ไหม ครับ ( ผมต้อง Update/Edit ข้ามตาราง )

2. วันนี้ผมเจอข้อมูลตัว 1 ใน Database จะเก็บข้อมูลเป็น char(1) แล้วผมใช้ Code ตัวนี้ในการเรียกข้อมูลขึ้นมา

   $strMemberID = null;

   if(isset($_POST["sMemberID"]))
   {
	   $strMemberID = $_POST["sMemberID"];
   }


แล้วเอาไป Quarry มันปรากฏว่ามันได้ผลลัพธ์ออกมาเป็น null ตาม $strMemberID แต่ถ้่าใน Database เก็บข้อมูลเป็น varchar , num จะออกมาเป็นข้อมูลของมันใน Database เลย แต่ถ้าเป็น char เมื่อไหร่มันจะเป็น null ( ผมแค่ต้องการเก็บตัวอักษรตัวเดียว แค่ Y หรือ N ) ผมเลยสงสัยว่า มันไม่สามารถอ่านค่า char ได้รึเปล่า ครับ

รบกวนช่วยตอบเป็นข้อๆ หน่อยนะ ครับ มีใครแนะนำได้รบกวนช่วยแนะนำด้วยนะ ครับ

ขอบคุณ ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-24 17:48:22 By : PuYo
 


 

No. 59



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



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


อ่านได้ครับ แต่แนะนำให้เก็บ 0 - 1 ดีกว่าครับ เร็วกว่า
bit
tinyint
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-24 18:03:45 By : manitchai
 


 

No. 60



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



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


ตอบความคิดเห็นที่ : 59 เขียนโดย : manitchai เมื่อวันที่ 2016-08-24 18:03:45
รายละเอียดของการตอบ ::
ขอบคุณสำหรับคำแนะนำ ครับ แต่ผมไม่สามารถเปลี่ยนได้อะ ครับ เพราะข้อมูล ใน Database มันเชื่อมหลายโปรแกรมไปแล้ว เลยไม่สามารถเปลี่ยนได้ ครับ

นั้นสิผมกะว่ามันอ่านได้เพราะ อย่างตัวอื่นมันยังอ่านได้เลย แต่ผมสงสัยว่าทำไม มันถึงเป็น null ตามที่ข้างบนผมบอก แล้วมันกะ save เป็น null ด้วยนะ ผมใส่ Y ไป มันกะไม่ยอม save Y มันเปลี่ยนตัวเองเป็น null แล้วกะ save เฉย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-24 18:12:36 By : PuYo
 


 

No. 61



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


$strMemberID = null;

if(isset($_POST["sMemberID"]))
{
echo $strMemberID = $_POST["sMemberID"];

}

ถ้ามันมีข้อมูลมันต้อง ไม่เป็น null เช็คด้วยคำสั่งสีแดงดูก่อนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-24 19:10:09 By : Chaidhanan
 


 

No. 62



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



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


ตอบความคิดเห็นที่ : 61 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-08-24 19:10:09
รายละเอียดของการตอบ ::
โอเค ครับ ขอบคุณ ครับ เดี๋ยวพรุ่งนี้เช้าผมจะไปเช็คดู ครับ เดี๋ยวตอนเช้าผลลัพธ์เป็นไงจะมาบอกอีกที ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-24 19:55:17 By : PuYo
 


 

No. 63



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



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


ตอนนี้แก้ได้ละ ครับ ขอบคุณ คุณ Chaidhanan ด้วยนะ ครับ

ตอนนี้ผมติดปัญหาเรื่องของการ Update ข้ามตารางอะ ครับ

ผมเขียนไปแบบนี้ ช่วยแนะนำหน่อยได้ไหม ครับ

 		$stmt = " UPDATE SFISSUDT SET
		SFISSUDT.qty_main = ? ,
		SFISSUDT.F_Cut = ?
		INNER JOIN SFISSUHD ON SFISSUHD.Doc_Date = ?
		WHERE SFISSUDT.id = ?
	";


** ตอนนี้แก้ได้ละ ครับ ผมใช้วิธีแก้ quarry มัน 2 รอบ ครับ **


ประวัติการแก้ไข
2016-08-25 09:25:55
2016-08-25 09:40:17
2016-08-25 10:13:49
2016-08-25 10:15:35
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-25 08:42:15 By : PuYo
 


 

No. 64



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


Code
$stmt = " UPDATE SFISSUDT SET SFISSUDT.qty_main = ? , SFISSUDT.F_Cut = ? WHERE SFISSUDT.id = ? AND EXISTS(SELECT * FROM SFISSUHD WHERE Doc_Date = ? AND SFISSUDE.fk_id = pk_id) ";


สีแดงชือ field ที่เชื่อมสัมพันธ์กัน 2 ตาราง

แต่ดูจาก statement ไม่มีไม่มีจุดสัมพันธ์เกี่ยวข้องกันในการ อัพเดท
ก็ไม่จำเป็นต้อง join กัน ถ้าหาจุดสัมพันธ์กันได้ ค่อยใช้การ join เพือ update
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-25 11:50:39 By : Chaidhanan
 


 

No. 65



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



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


ขอบคุณ ครับ คุณ Chaidhanan ผมได้ความรู้ใหม่ๆ เยอะเลย


** ตอนนี้แก้ได้หมดแล้ว ครับ จากที่บอกไว้ข้างล่าง ปัญหาที่เจอกะคือ ผมไปกำหนดแบ่ง pagination มันเลยทำให้ยุ่งยากแบบนี้ ซึ่งวิธีง่ายๆ เลย คือ ไปกำหนดปิด Showdata ซึ่งมันจะโชว์ข้อมูลทั้งหมดในหน้าแรกแต่ไปปิดมันได้เพื่อใช้ค้นหาอย่างเดียว ไม่ต้องไปกำหนด pagination **

ตอนนี้ผมต้องการให้มันแสดง Table ด้านหลังอย่างเดียวอะ ครับ เช่นผมมีข้อมูลอยู่ 10,000 ผมต้องการโชว์ข้อมูลจาก 10,000 ไป 5,000 ไม่ใช่ จาก 1 ไป 5,000 อะ ครับ ขอคำแนะนำด้วย หรือ มีวิธีที่ดีกว่านี้ไหม ครับ ขอบคุณ ครับ แล้วก็ตอนนี้ระบบค้นหาของผมมันแปลกๆ อะ ครับ ทำไมมันค้นหาไม่ได้ เช่นยกตัวอย่าง คือผมค้นหาชื่อ IMC001 ข้อมูลใน Database มี IMC001 , IMC002 , IMC003 เมื่อผมกดค้นหาลงไปผลปรากฏได้ IMC001 ซึ่งถูก!! แต่เดี๋ยวผมลองกดค้นหา IMC002 มันดันได้ผลลัพธ์เป็น IMC002 กับ IMC003 มา ครับ

** ข้อมูลจะมีการ Update เข้าไปตลอดเวลา ครับ ดังนั้นอยากได้ค้นหาจากหลังไปหน้า **

<?php
//header("content-type:text/javascript;charset=utf-8");
	ini_set('sqlsrv.charset', 'UTF-8');
	//ini_set('memory_limit' '1024m');
	//ini_set('max_execution_time', 160);
	ini_set('display_errors', 1);
	error_reporting(~0);

   $serverName = "";
   $userName = "";
   $userPassword = "";
   $dbName = "";
  
   $connectionInfo = array("Database"=>$dbName, "UID"=>$userName, "PWD"=>$userPassword, "MultipleActiveResultSets"=>true,"CharacterSet"  => 'UTF-8');

   $conn = sqlsrv_connect( $serverName, $connectionInfo);

      if( $conn === false ) {
      die( print_r( sqlsrv_errors(), true));
   }

	//mssql_query("SET NAMES UTF8");
	
	// $_POST["txtKeyword"] = "a"; // for Sample

$strKeyword = null;

	if(isset($_POST["txtKeyword"]))
	{
		$strKeyword = $_POST["txtKeyword"];
	}

$stmt = "SELECT  SFISSUHD.Doc_No FROM SFISSUHD INNER JOIN
                      SFISSUDT ON SFISSUHD.id = SFISSUDT.SFISSUHD_ID INNER JOIN
                      SMITEMMS ON SFISSUDT.SMITEMMS_ID = SMITEMMS.ID INNER JOIN
                      SMUNITMS ON SFISSUDT.Main_SMUNITMS_ID = SMUNITMS.ID
 WHERE SFISSUHD.Doc_No LIKE ?";

$params = array('%'.$strKeyword.'%');
$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$query = sqlsrv_query( $conn, $stmt , $params, $options );
$rows = array();

$num_rows = sqlsrv_num_rows($query);

	$per_page = 5;   // Per Page
	$page  = 1;
	
	if(isset($_GET["Page"]))
	{
		$page = $_GET["Page"];  <<<<<<< แก้ตรงนี้เปล่า ครับ
	}

	$prev_page = $page-1;
	$next_page = $page+1;

	$row_start = (($per_page*$page)-$per_page);
	if($num_rows<=$per_page)
	{
		$num_pages =1;
	}
	else if(($num_rows % $per_page)==0)
	{
		$num_pages =($num_rows/$per_page) ;
	}
	else
	{
		$num_pages =($num_rows/$per_page)+1;
		$num_pages = (int)$num_pages;
	}
	$row_end = $per_page * $page;
	if($row_end > $num_rows)
	{
		$row_end = $num_rows;
	}


	$stmt = "SELECT * FROM (
		SELECT ROW_NUMBER() OVER(ORDER BY id) AS RowID,*  FROM  SFISSUHD
		) AS c 
	WHERE c.RowID > $row_start AND c.RowID <= $row_end
	";
	$query = sqlsrv_query( $conn, $stmt ) or die( print_r(sqlsrv_error(),true));


while($obResult = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC)){
	$rows[]=$obResult;
}


sqlsrv_close($conn);
	
	echo json_encode($rows);
?>



ประวัติการแก้ไข
2016-08-25 14:14:54
2016-08-25 14:50:51
2016-08-25 15:57:26
2016-08-25 16:35:39
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-25 13:59:54 By : PuYo
 


 

No. 66



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


จากตัวอย่างที่ คห 65 คุณมี statement 2 ที่ คือบันทัด 33 และ 78

ซึ่งทั้งสองบันทัดนี้ จะให้ จำนวน row ไม่เท่ากัน เพราะ where clause ไม่เหมือนกัน
ความสำพันธ์ ของตารางต่างกัน ทั้งสองรายการ ต้องอ้างอิง result เดียวกัน
ไม่ว่าจะนับบันทัด หรือจะแบ่งบันทัดมาแสดง

และอยากให้คุณดูที่ ลิงค์นี้
https://www.thaicreate.com/php/forum/121804.html#1
ที่ 2 บันทัดสุดท้ายวิธีการหาจำนวน row เพื่อนำมาแบ่ง pagination ด้วยการคิวรี่ เอาเฉพาะส่วนที่ต้องการ
การที่คุณ คิวรี่ ทั้งหมด และส่ง result มาทุกรายการเพื่อจะแค่เอา จำนวนบันทัด
มันเป็นการขี่ช้างจับตั๊กแตน เปลืองเวลาการทำงาน

ส่วนการเรียงลำดับจากมากไปหาน้อย ก็ใส่ order by เข้าไป ว่าจะให้แสดงจากไหนไปไหน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-26 03:26:38 By : Chaidhanan
 


 

No. 67



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



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


ผมจะมาเล่าสู่กันฟังเกี่ยวกับภาษาไทยใน MS SQL SERVER 2014 และอื่นๆ ในบทความที่ผมทำ

https://www.thaicreate.com/mobile/android-edit-update-server-database.html


ที่ผมเจอเลยคือ ภาษาไทย เวลา Insert หรือ Update/Edit เข้าไปมันจะไม่เป็นภาษาไทย ตอนแรกผมใช้ Appserv ในการเชื่อมต่อกับ MS SQL SERVER 2014 ซึ่งถ้าเป็น mysql มันสามารถออกมาเป็นภาษาไทยได้อยู่โดยใช้คำสั่ง SET UTF8 เข้าไป แต่ผมใช้ไม่ได้เพราะผมต้องใช้ mssql ในการติดต่อกับ MS SQL SERVER 2014 มันจะไม่สามารถใส่ได้เหมือน mysql มันจะ ERROR วิธีของ mssql กะคือเอาไปใส่ head แล้วใส่ Charset UTF8 มัน ซึ่งผมลองทำดูแล้วผลปรากฏว่ากะไม่ได้อยู่ ต่อมา คุณ Chaidhanan กะได้แนะนำเกี่ยวกับตัว sqlsrv ซึ่งผมกะได้เปลี่ยนจาก Appserv ไปเป็น XAMPP แล้วใส่ .dll ของ sqlsrv ลงไปแล้วไปใส่ code นี้ลงไป SET ini_set('sqlsrv.charset', 'UTF-8'); ผลปรากฏว่าได้ภาษาไทยออกมา

ผมกะเลยคิดว่าน่าจะเป็นเพราะผมใช้ Appserv เวอร์ชั่น 2.5.10 ซึ่งมันเวอร์ชั่นเก่าเกินไปมันเลยไม่อ่านภาษาไทยใน MS SQL SERVER 2014


ต่อมาผมติดปัญหาเรื่อง คำสั่ง mysql กับ sqlsrv ซึ่ง 2 คำสั่งนี้ไม่ได้แตกต่างอะไรกันมากเท่าไหร่ อยู่ที่การเรียกวิธีใช้มากกว่า เป็นเพราะผมไม่เคยเจอคำสั่งนี้มันกะเลยไม่รู้จะเริ่มยังไงดี ผมกะหาอ่านตามบทความของเว็บแล้วนำมาประยุกต์ใช้ แล้วได้คุณ Chaidhanan ช่วยนี้แนะอีกที

ต่อมาสิ่งสำคัญหลักเลย ควรเช็ค Code ให้ดีก่อนมันอาจจะพลาดที่เรียกตัวแปรผิด ( ซึ่งผมเป็นบ่อย ) แต่ถ้าผิดเราไม่รู้เลยเราควรเช็คให้ดีๆ ก่อนสัก 1-2 ชม. หรือ มากกว่านั้น ถ้าอยากลองแก้เอง ซึ่งของผมถ้าติดปัญหามากเกินไป ผมกะจะมาขอความช่วยเหลือจากบอร์ดนี้ หาอ่านจากบทความมั้ง หรือ ไม่กะโพสถามเกี่ยวกับปัญหาที่เราเจอเลย คนอื่นอาจมองได้ไม่เหมือนเรา เราอาจจะมองข้ามสิ่งเล็กๆ ไป


ตอนนี้ผมทำ Code เสร็จเรียบร้อยแล้ว เหลือแต่แค่ลองให้ User Test แล้วไล่เก็บหาบัคจากที่ User เจอ

ตอนนี่ของผมเหลืออีก โปรเจค 1 นั้นกะคือ สแกน BARCODE แล้วเอาไปอ่านค่าตัวเลขจากใน DATABASE ซึ่งคุณ TC Admin แนะนำเกี่ยวกับการทำ sqlserver มาแต่ผมกะยังไม่รู้จะเริ่มมันยังไงดี ถ้ามีคนอื่นช่วยแนะนำได้ ช่วยแนะนำหน่อยนะ ครับ


สุดท้าย ขอขอบคุณ คุณ Chaidhanan ที่ช่วยชี้แนะแนวทางมาตลอดด้วย ครับ
ขอขอบคุณ คุณTC Admin เกี่ยวกับหลายๆบทความ
และขอขอบคุณทุกคนที่คอยแนะนำ ครับ

ถ้าผมติดปัญหาเจอบัคอะไรอีก รบกวนช่วยชี้แนะด้วยนะ ครับ


ประวัติการแก้ไข
2016-08-26 18:12:29
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-26 18:11:53 By : PuYo
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : Android ปัญหาเรื่องการอ่านข้อมูลภาษาไทยจาก MS SQL SERVER 2014 โดยใช้ MSSQL ติดต่อ Database
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 03
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 อัตราราคา คลิกที่นี่