|
|
|
(iOS Mobile) มีปัญหาการนำข้อมูลในรูปแบบ Json จาก PHP กับ MySQL มาแสดงผลใน iOS |
|
|
|
|
|
|
|
สวัสดีครับ
พอดีมีปัญหาในการนำข้อมูลในรูปแบบ Json จากไฟล์ PHP มาแสดงผลใน iOS โดยไฟล์ test.php มีการ SELECT ข้อมูลจากฐานข้อมูล MySQL ซึ่งอยู่บน Server
Code (PHP)
<html>
<head>
<title></title>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
</head>
<body>
<?
//$placeName = $_GET['placeName'];
$objConnect = mysql_connect("localhost","root","thanaphon01") or die ("Error connect to database");
mysql_query("SET NAMES UTF8");
$objDb = mysql_select_db("Pattaya");
$strSQL = "SELECT Places.Name,Places.Detail FROM Places WHERE Places.Name = '".'เมืองจำลอง'."'";
$objQuery = mysql_query($strSQL);
$intNumField = mysql_num_fields($objQuery);
$resultArray = array();
while($objResult = mysql_fetch_array($objQuery))
{
$arrCol = array();
for($i=0;$i<$intNumField;$i++)
{
$arrCol[mysql_field_name($objQuery,$i)] = $objResult[$i];
}
array_push($resultArray,$arrCol);
}
mysql_close($objConnect);
echo json_encode($resultArray);
?>
</body>
</html>
** ไฟล์ test.php มีการบันทึกเป็นรูปแบบ UTF-8
จากนั้นเมื่อมีการเรียกไฟล์ test.php ผ่าน Browser ก็ขึ้นเป็นรูปแบบ Json ตามปกติ ดังภาพ
แต่เมื่อมาเขียนโปรแกรมเรียกใช้จากเครื่อง Mac โดยเรียกจาก IP Address ของเครื่อง Server ผลลัพธ์ที่จาก Name ของ Json ได้ออกมาเป็นค่า Null
Code (Objective-C)
#import "ViewController.h"
@interface ViewController () {
NSString *namePlace;
NSString *detailPlace;
}
@end
@implementation ViewController
@synthesize name,detail;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
namePlace = @"Name";
detailPlace = @"Detail";
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(void)getData {
NSString *strURL = [[[NSString alloc]initWithFormat:@"http://192.168.1.199/Pattaya/test.php"]stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSData *jsonData = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
id jsonObjects = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:nil];
NSString *strName = [jsonObjects objectForKey:@"Name"];
NSLog(@"%@",strName);
NSLog(@”%@”,jsonData);
}
@end
NSLog ที่ได้
จึงอยากจะสอบถามว่ามีวิธีแก้อย่างไรครับ
ขอบคุณครับ
Tag : Mobile, MySQL, iOS, iPhone, iPad
|
|
|
|
|
|
Date :
2012-12-26 20:58:45 |
By :
โอ๊ต |
View :
1720 |
Reply :
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?
//$placeName = $_GET['placeName'];
$objConnect = mysql_connect("localhost","root","thanaphon01") or die ("Error connect to database");
mysql_query("SET NAMES UTF8");
$objDb = mysql_select_db("Pattaya");
$strSQL = "SELECT Places.Name,Places.Detail FROM Places WHERE Places.Name = '".'เมืองจำลอง'."'";
$objQuery = mysql_query($strSQL);
$intNumField = mysql_num_fields($objQuery);
$resultArray = array();
while($objResult = mysql_fetch_array($objQuery))
{
$arrCol = array();
for($i=0;$i<$intNumField;$i++)
{
$arrCol[mysql_field_name($objQuery,$i)] = $objResult[$i];
}
array_push($resultArray,$arrCol);
}
mysql_close($objConnect);
echo json_encode($resultArray);
?>
แค่นี้พอครับ ไม่ต้องมี Meta Tags ครับ
|
|
|
|
|
Date :
2012-12-27 08:47:21 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณพี่ mr.win ครับ หลังจากเอา Meta tags ออกก็แก้ไขปัญหาได้ครับ
|
|
|
|
|
Date :
2012-12-27 11:44:21 |
By :
โอ๊ต |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
นั่นซิ ผมว่าตัวอย่างผมก็ถูกแล้วน่ะครับ
|
|
|
|
|
Date :
2012-12-27 12:06:05 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือ ตอนแรกก็ทำตามตัวอย่างทั้งหมดครับพี่ mr.win แต่พอดีเป็นมือใหม่ทั้ง Xcode และ PHP เจอปัญหาการแสดงผลภาษาไทยบน PHP เลยหาวิธีแก้หลายวิธีเลยครับเลยสมองเลยรวนไปเลย
|
|
|
|
|
Date :
2012-12-27 12:27:57 |
By :
โอ๊ต |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จัดไปครับ
|
|
|
|
|
Date :
2012-12-28 10:01:44 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|