1

我有一个 xcode 项目,我需要在单击按钮时输入数据,然后将其显示在 TableView 中。

示例:Twitter(关注/取消关注)。

1.点击好友图标,出现好友列表。

2.当我点击我的任何一个朋友时,他们的朋友列表会出现在tableview中,并带有对应的关注按钮(共同的朋友有取消关注按钮)。

3.现在,当我点击关注按钮并返回查看我的好友列表时,该特定好友已添加了两次。

到目前为止我做了什么:

检查 sql 数据库是否也存在于其他地方。

检查 web 服务是否被调用了两次。

一切安好。我也有 iMac 和 Macbook Pro,它们都有同样的问题。我已经重新安装了 Xampp 两次,但结果仍然相同。

供您参考,以下是我用于 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);

 } 
4

2 回答 2

1

您的数据库表中是否有主键。

如果是这样,那么如何针对相同的 id 插入值。

于 2012-05-21T11:15:55.320 回答
0

[已解决] 成功的原因是我将 fid 设置为独一无二的......所以现在每当我点击关注按钮时,它都会输入一次,而不是两次。

感谢大家的帮助和支持。

于 2012-05-22T11:55:33.987 回答