ボタンクリックでデータを入力し、それをTableViewに表示する必要があるxcodeプロジェクトがあります。
例:Twitter(フォロー/フォロー解除)。
1.友達のアイコンをクリックすると、友達のリストが表示されます。
2.友達のいずれかをクリックすると、友達リストがテーブルビューに表示され、それに対応するフォローボタンが表示されます(相互の友達にはフォロー解除ボタンがあります)。
3.これで、フォローボタンをクリックして戻って友達リストを確認すると、その特定の友達が2回追加されました。
私がこれまでにしたこと:
SQLデータベースが他の場所にも存在するかどうかを確認しました。
Webサービスが2回呼び出されているかどうかを確認しました。
すべて順調。私はiMacとMacbookProも持っていますが、どちらも同じ問題を抱えています。Xamppを2回再インストールしましたが、それでも同じ結果になります。
参考までに、Xcodeプロジェクトに使用しているphpを以下に示します。
<?php
$id = $_REQUEST['id'];
$fid = $_REQUEST['fId'];
$firstName = $_REQUEST['firstName'];
$lastName = $_REQUEST['lastName'];
$con = mysql_connect("localhost","root","");
if(!$con)
die("Connection failed"."<br/>");
$db = mysql_select_db("db",$con);
if(!$db) die("Database not found!"."<br/>");
$query = "INSERT INTO $id(firstName,lastName,folks_id) VALUES('$firstName','$lastName','$fid')";
print $query;
mysql_query($query,$con);
mysql_close($con);
?>
編集:参照用のXcodeパーツ
-(IBAction)followButtonClicked:(UIButton *)sender
{
NSMutableString *postString = [NSMutableString stringWithString:kFollowURL];
[postString appendString: [NSString stringWithFormat:@"?%@=%@", kId, [user objectForKey:@"id"] ]];
[postString appendString: [NSString stringWithFormat:@"&%@=%@", kfId, [fId objectForKey:@"fID"] ]];
[postString appendString: [NSString stringWithFormat:@"&%@=%@", kfirstName, [firstNameDict objectForKey:@"firstName"] ]];
[postString appendString: [NSString stringWithFormat:@"&%@=%@", klastName, [lastNameDict objectForKey:@"lastName"] ]];
[postString appendString: [NSString stringWithFormat:@"&%@=%@", kprofileType, [profileTypeDict objectForKey:@"profileType"] ]];
[postString setString: [postString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSLog(@"post string = %@", postString);
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:postString]];
[request setHTTPMethod:@"POST"];
followConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];
NSLog(@"postconnection: %@", followConnection);
//Get JSON Response from server
NSData *dataURL = [NSData dataWithContentsOfURL: [ NSURL URLWithString: postString ]];
NSString *serverOutput = [[NSString alloc] initWithData:dataURL encoding: NSASCIIStringEncoding];
NSLog(@"serverOutput = %@", serverOutput);
}