2015-01-22 2 views
0

Я хочу обновить две таблицы Mysql с одной задачей async и различными параметрами, когда нажата кнопка сохранения. Он работает правильно, когда его около одной таблицы. Как мне реализовать такую ​​вещь?Как я могу обновить две разные таблицы Mysql от android с помощью одной задачи async?

код на doInBackground() является:

// getting updated data 
      Log.d("aa for save", String.valueOf(aa)); 
      Log.d("bb for save", String.valueOf(bb)); 
      // Building Parameters 
      List<NameValuePair> params = new ArrayList<NameValuePair>(); 
      params.add(new BasicNameValuePair(TAG_PID, p_id)); 
      params.add(new BasicNameValuePair(TAG_aa, String.valueOf(aa))); 
      params.add(new BasicNameValuePair(TAG_bb, String.valueOf(bb))); 

      JSONObject json = jsonParser.makeHttpRequest(url_update_product,"POST", params); 


     // getting updated data 

      // Building Parameters 
      List<NameValuePair> params_user = new ArrayList<NameValuePair>(); 
      params_user.add(new BasicNameValuePair(TAG_UNAME, uname)); 
      params_user.add(new BasicNameValuePair(TAG_aa, String.valueOf(aa))); 
      params_user.add(new BasicNameValuePair(TAG_bb, String.valueOf(bb))); 

      JSONObject json_user = jsonParser.makeHttpRequest(url_update_user_votes,"POST", params_user); 

      // check json success tag 
      try { 
       int success = json.getInt(TAG_SUCCESS); 
       int success2 = json_user.getInt(TAG_SUCCESS); 

       if (success == 1 && success2 ==1) { 
        // successfully updated 
        Intent i = getIntent(); 
        // send result code 100 to notify about update 
        setResult(100, i); 
        finish(); 
       } else { 
        // failed to update 
       } 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 

Ошибки я получаю: «java.lang.IllegalArgumentException: Вид не привязан к оконному менеджеру» о деятельности, которая имеет onActivityResult()

+0

Вы используете startActivityForResult() при запуске этой операции? и кого вы хотите сообщить с результатом успеха? Последняя активность? –

ответ

0

Изменение два MySQL таблицы в одном PHP скрипт и отправить успеха и succes2 в одном из JSON Servera

 // getting updated data 
     Log.d("aa for save", String.valueOf(aa)); 
     Log.d("bb for save", String.valueOf(bb)); 
     // Building Parameters 
     List<NameValuePair> params = new ArrayList<NameValuePair>(); 
     params.add(new BasicNameValuePair(TAG_PID, p_id)); 
     params.add(new BasicNameValuePair(TAG_UNAME, uname)); 
     params.add(new BasicNameValuePair(TAG_aa, String.valueOf(aa))); 
     params.add(new BasicNameValuePair(TAG_bb, String.valueOf(bb))); 

     JSONObject json = jsonParser.makeHttpRequest(url_update_all,"POST", params); 

     // check json success tag 
     try { 
      int success = json.getInt(TAG_SUCCESS); 
      int success2 = json.getInt(TAG_SUCCESS2); 

      if (success == 1 && success2 ==1) { 
       // successfully updated 
       Intent i = getIntent(); 
       // send result code 100 to notify about update 
       setResult(100, i); 
       finish(); 
      } else { 
       // failed to update 
      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 

пример php сценарий

<?php 

$aa = $_REQUEST['aa']; 
$bb = $_REQUEST['bb']; 
$p_id = $_REQUEST['p_id']; 
$uname = $_REQUEST['uname']; 


//db connect....... 

$success=0; 
$resttt = "UPDATE table1 SET aa='$aa' "; 
$result = mysql_query("$resttt"); 
if($result) { $success=1; } 

$success2=0; 
$resttt2 = "UPDATE table2 SET bb='$bb' "; 
$result2 = mysql_query("$resttt2"); 
if($result2) { $success2=1; } 


// array for JSON response 
$response = array(); 

// success 
$response["success"] = $success; 
$response["success2"] = $success2; 


// echoing JSON response 
echo json_encode($response); 

?> 
+0

Любой пример php-скрипта? –

Смежные вопросы