0

この隙間を使いたい

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if ([[alertView buttonTitleAtIndex:buttonIndex] isEqualToString:@"One point,Not good"])
{
} 

mysql に接続し、scores という名前の列の値を更新します。

例えば

最初の列に5点、アラートビューボタン「1点」を押します

次に、値の列が 6 ポイントに変わります。

このボイドを使用してこれを行う方法がわかりません。多くの情報を検索しましたが、取得できませんでした

json と php を使用して mysql に接続し、phpmyadmin を使用します。

私が間違っているかどうか、またはこのボイドはこれに使用できません。

4

6 に答える 6

1

最初に UIAlertview のタグ値を設定してから、

文字列テキストではなく、ボタンのインデックス値を使用する必要があります

// タグの値を 204 としました

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if(alertView.tag==204 && buttonIndex==1)
{

   //your logic

}

else if(alertView.tag==204 && buttonIndex==0)
{

   //your logic

}
}
于 2012-10-01T12:47:05.640 に答える
0

UIAlertViewデリゲートメソッドを使用できます

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
if(buttonIndex == 0)
    {
        //do something if you press the "cancel" button
    } else if (buttonIndex == 1) {
        //do other thing with other button
    }
}

複数のUIAlertViewの場合、アラートビューごとにタグを設定できます。

また、UIAlertViewのデリゲートを設定する必要があります:UIAlertViewDelegate

于 2012-10-01T13:11:05.963 に答える
0

メソッド宣言の先頭にある(void)は、コードの実行後にメソッドが値を返さないことを示しています。一方、次のような宣言:

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;

NSIntegerがメソッドの最後に返されることを示しているため、実際には次のようにメソッドを変数と等しく設定できます。

NSInteger number = [self numberOfSectionsInTableView:scoreTable];

質問の場合、PHPを介してリモートサーバー上に存在するいくつかのMySQLテーブルを更新する場合は、NSURLConnectionを使用してサーバー上のPHPスクリプトに値をPOSTできるメソッドを作成する必要があります。それは実際には小さな質問に分割されるべきであるため、私が具体的に答えるのはかなり範囲外です。

質問1:PHPスクリプトを作成するにはどうすればよいですか?

  1. メッセージ本文に含まれる着信$_['POST']変数を宣言します
  2. データベースにmysql_connectを作成します
  3. 更新するレコードを取得するSQLステートメントを記述し、それを更新します

質問2:NSURLConnectionを使用してWebサーバーに更新をPOSTするにはどうすればよいですか

  1. MySQLの更新を処理する.phpスクリプトへのURLを使用してNSURLオブジェクトを作成します
  2. NSMutableURLRequestを作成し、それにNSURLを指定して、HTTPMethodプロパティを@"POST"に設定します
  3. 難しいのは、bodyDataを作成することです。これは、PHPスクリプトの$_['POST']変数に対応するエンコードされたヘッダーになります。
  4. NSURLConnectionオブジェクトを作成し、リクエストプロパティをNSMutableURLRequestに設定し、コールバック情報を受信するようにDelegateを設定します
  5. NSURLConnectionを開始します

SOで検索すると、これらの両方の質問に対する答えが見つかると思います。

幸運を

于 2012-10-01T13:12:04.213 に答える
0

ボタンのインデックスを使用します

if(buttonIndex == 1)
{
// write the logic here
return;
}
else if(buttonIndex == 2)
{
// write the logic here
return;
}
于 2012-10-01T12:42:48.917 に答える
0

まず、右ボタンがクリックされたかどうかを確認するには、ヘッダーファイルで定義されたものを使用する必要があります。例えば:

#define CORRECT_BUTTON_TITLE @"One point,Not good"

次に、チェックを行います

    -(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
    {
    if ([[alertView buttonTitleAtIndex:buttonIndex] isEqualToString:CORRECT_BUTTON_TITLE])
    {
       // UPDATE YOUR DATABASE
    }} 

これにより、名前を 1 回で簡単に変更でき、間違いを避けることができます。

次に、データベースを更新する方法。簡単に言えば、サーバー上の MySQL データベースの「隣」にある PHP ファイルに命令を送信するだけです。指示は HTTP POST リクエストを介して送信されます。あなたのphpで、

if( isset($_POST["updateScore"]) and isset($_POST["newScore"])) ){
   $newScore = intval( $_POST["newScore"] );
   // execute mysql queries
}

XCode では、ASIHTTPRequest を使用して POST 要求を送信できます。PHP ファイルが にあるとしwww.example.com/update.phpます。

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
        {
        if ([[alertView buttonTitleAtIndex:buttonIndex] isEqualToString:CORRECT_BUTTON_TITLE])
        {
           // UPDATE YOUR DATABASE
           NSURL *url = [NSURL URLWithString:@"www.example.com/update.php"];
           ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
           [request setPostValue:@"1" forKey:@"updateScore"];
           [request setPostValue:[NSString stringWithFormat:@"%i", 6] forKey:@"newScore"];
           [request setDelegate:self];
           [request startAsynchronous];
        }} 
于 2012-10-01T16:32:16.637 に答える
0

あなたが使用しなければならない機能はこれです

- (void)alertView:(UIAlertView *)alertView
clickedButtonAtIndex:(NSInteger)buttonIndex;

この関数を使用するには、ViewController に実装する必要があります。UIAlertViewDelegate

の中に.h yourViewController : UIViewController <UIAlertViewDelegate>

- (void)alertView:(UIAlertView *)alertView
clickedButtonAtIndex:(NSInteger)buttonIndex
{ 
    if(buttonIndex == 0)
    {
        //do something if you press the "cancel" button
    } else if (buttonIndex == 1) {
        //do other thing with other button
    }

}
于 2012-10-01T12:47:20.487 に答える