iOS : ต้องการส่ง JSON Array หลายๆชุด POST ไปยัง Web Server (PHP) เพียงครั้งเดียว มีวิธีเขียนอย่างไรครับ
คำถาม
- ผมต้องการที่จะ POST ค่าจาก iOS ซึ่งทำหน้าที่เป็น Client ไปยัง Web Server โดยจะใช้ PHP ทำหน้าที่รับและจัดเก็บ โดยการส่ง Array หลายๆชุด ส่งเพี่ยงครั้งเดียวจะมีวิธีการทำอย่างไร เเล้ว PHP ที่ทำหน้าที่รับค่าจะรับอย่างไร โดยที่ให้วนลูปตามชุด array เเล้วบันทึกลง database
ตัวอย่าง array ที่ต้องการส่ง
Code
[
{
"Procode" : "41A01B1",
"Barcode" : "8851585694151",
"Size" : "33",
"Colorcode" : "90",
"Desc" : "ดำ1",
"Price" : "275.00"
},
{
"Procode" : "41A02B1",
"Barcode" : "8851585694151",
"Size" : "33",
"Colorcode" : "90",
"Desc" : "ดำ",
"Price" : "275.00"
},
{
"Procode" : "41A02B2",
"Barcode" : "8851585694151",
"Size" : "33",
"Colorcode" : "90",
"Desc" : "ดำ",
"Price" : "275.00"
}
]
Code (Objective-C)
- (IBAction)btnSave:(id)sender {
//Name=Poo&Tel=023456789"
NSMutableString *post = [NSString stringWithFormat:@"sName=%@&sTel=%@",[txtName text],[txtTel text]];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSURL *url = [NSURL URLWithString:@"http://localhost/saveData.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
// Show Progress Loading...
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
loading = [[UIAlertView alloc] initWithTitle:@"" message:@"Please Wait..." delegate:nil cancelButtonTitle:nil otherButtonTitles:nil];
UIActivityIndicatorView *progress= [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(125, 50, 30, 30)];
progress.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
[loading addSubview:progress];
[progress startAnimating];
[progress release];
[loading show];
if (theConnection) {
self.receivedData = nil;
} else {
UIAlertView *connectFailMessage = [[UIAlertView alloc] initWithTitle:@"NSURLConnection " message:@"Failed in viewDidLoad" delegate: self cancelButtonTitle:@"Ok" otherButtonTitles: nil];
[connectFailMessage show];
[connectFailMessage release];
}
}
จากตัวอย่างข้างบน ส่ง Array เพี่ยงครั้งละชุด...Tag : Mobile, Ms SQL Server 2008, iOS, Mobile
ประวัติการแก้ไข 2014-11-21 10:06:32
Date :
2014-11-21 10:05:48
By :
junior_dev
View :
1514
Reply :
5
รู้สึกมันจะเป็น JSON แล้วน่ะครับ ส่งไปยัง Web Server ได้เลยครับ
iOS/iPhone and JSON
Date :
2014-11-21 13:23:14
By :
mr.win
จาก iOS ส่งไปเป็น JSON ครับ แล้วบน PHP ก็รับ JSON ได้เลยครับ เอาไปแปลงอะไรก็ว่าไป
Code
[
{"CustomerID":"C003","Name":"Jame Born","Email":"
[email protected] ","CountryCode":"US","Budget":"3000000","Used":"600000"}
,{"CustomerID":"C004","Name":"Chalee Angel","Email":"
[email protected] ","CountryCode":"US","Budget":"4000000","Used":"100000"}
]
Code (PHP)
$mydata = json_decode($JsonData,true); // json decode
if(count($mydata) == 0)
{
echo "Not found data!";
}
else
{
foreach ($mydata as $result) {
$result["CustomerID"];
$result["Name"];
}
}
Date :
2014-11-21 16:22:47
By :
mr.win
Date :
2014-11-21 17:46:29
By :
mr.win
Load balance : Server 00