2014-09-26 6 views
0

Я создаю класс в .java, который получает данные из mysql. Как я могу убедиться, что данные, полученные мной из mysql, основаны на идентификаторе пользователя, который зарегистрирован на мобильном устройстве? Вот мой код, запустить, чтобы получить все данные из MySQL:Android: Как получить данные из mysql в sqlite с параметром

package a.a; 
    import java.util.concurrent.ExecutionException; 
    import org.json.JSONArray; 
    import org.json.JSONObject; 
    import android.app.Activity; 
    import android.app.AlertDialog; 
    import android.content.Context; 
    import android.content.DialogInterface; 
    import android.content.Intent; 
    import android.os.Bundle; 
    import android.text.format.Time; 
    import android.view.View; 
    import android.view.View.OnClickListener; 
    import android.widget.Button; 
    import android.widget.Toast; 

    public class Update_Rolling extends Activity 
    { 
     Database b = new Database(this); 
     Button yes, no; 
     String result; 
     String dealID, dealName, dealOwner, dealWil, dealTelp, dealKtgr, dealSales; 
     String Status1, userName; 
     int prDate, prMonth, prYear; 

     // -------- INTERNET -------------- 
     // flag for Internet connection status 
     Boolean isInternetPresent = false; 

     // Connection detector class 
     ConnectionDetector cd; 

     public void onCreate(Bundle savedInstanceState) 
     { 
      super.onCreate(savedInstanceState); 
     setContentView(R.layout.empty); 

     b.open(); 
     yes = (Button)findViewById(R.id.yes); 
     no = (Button)findViewById(R.id.no); 

     //nerima intent 
       Status1 = getIntent().getExtras().getString("status"); 
       userName = getIntent().getExtras().getString("NPK"); 

     cd = new ConnectionDetector(getApplicationContext()); 

     // get Internet status 
     isInternetPresent = cd.isConnectingToInternet(); 


     yes.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // get Internet status 
       isInternetPresent = cd.isConnectingToInternet(); 

       // check for Internet status 
       if (isInternetPresent) { 
       //function update 
        b.deleteDealerList(); 
        b.createListDealer(); 
        getWebRolling(); 

       showAlertDialog(Update_Rolling.this, "Internet Connection", 
          "Data Updated", true); 

       } else { 
        // Internet connection is not present 
        showAlertDialog(Update_Rolling.this, "No Internet Connection", 
          "You don't have internet connection.", false); 
       } 
      } 
     }); 

     no.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Intent aaa = new Intent(Update_Rolling.this, Homescreen.class); 
       aaa.putExtra("status", Status1); 
       aaa.putExtra("NPK", userName); 
       startActivity(aaa); 
      } 
     }); 

    } 

    public void getWebRolling(){ 
     GetAsynctaskData getAsyncData = new GetAsynctaskData(); 
     try 
     { 
     result = getAsyncData.execute("http://10.0.2.2/cibi/viewDealer.php").get(); 

     } catch (InterruptedException e) { 
      // TODO: handle exception 
      e.printStackTrace(); 
     } catch (ExecutionException e) { 
      // TODO: handle exception 
      e.printStackTrace(); 
     } 
     insertRoll(result); 
    } 

    private void insertRoll(String abc) { 
     try { 
      JSONArray json = new JSONArray(abc); 
      for(int i = 0; i < json.length(); i++) 
      { 
       JSONObject json_obj = json.getJSONObject(i);    
       //ambil field data dari XAMPP di .getString 
       dealID = json_obj.getString("CustCode"); 
       dealName = json_obj.getString("Nama"); 
       dealWil = json_obj.getString("Kota"); 
       dealSales = json_obj.getString("Salesman"); 

       String noSales = dealSales.toString(); 
       String noToko = dealID.toString(); 

       Time today = new Time(Time.getCurrentTimezone()); 
       today.setToNow(); 
       prDate = today.monthDay; 
       prMonth = today.month+1; 
       prYear = today.year; 

       String LDno = noSales+""+prYear+""+prMonth+""+noToko+""; 

       Toast.makeText(Update_Rolling.this, LDno, Toast.LENGTH_LONG).show(); 

       //ini cuman insert buat pertama kali 
       b.insertDealABC(dealID, dealName, dealWil); 
       b.insertLD(LDno, dealID, dealSales); 

      } 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      Toast.makeText(Update_Rolling.this, "update database gagal", Toast.LENGTH_LONG).show(); 
      e.printStackTrace(); 
     } 
    } 



    public void showAlertDialog(Context context, String title, String message, Boolean status) { 
     AlertDialog alertDialog = new AlertDialog.Builder(context).create(); 

     // Setting Dialog Title 
     alertDialog.setTitle(title); 

     // Setting Dialog Message 
     alertDialog.setMessage(message); 

     // Setting alert dialog icon 
     //alertDialog.setIcon((status) ? R.drawable.success : R.drawable.fail); 

     // Setting OK Button 
     alertDialog.setButton("OK", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int which) { 
       Intent aaa = new Intent(Update_Rolling.this, Homescreen.class); 
       aaa.putExtra("status", Status1); 
       aaa.putExtra("NPK", userName); 
       startActivity(aaa); 
      } 
     }); 
     alertDialog.show(); 
    } 
} 

Это мой .php: viewDealer.php

<?php 
    include("connect.php"); 
    $query = "SELECT * FROM dealer"; 
    $result = mysql_query($query); 
     while($data = mysql_fetch_array($result)) 
     { 
     $rows[] = $data; 

     } 
     echo json_encode($rows); 
    ?> 

ответ

1

Ну, это будет основано на том, как у вас есть ваши таблица установлена. Если у вас есть таблица с именем дилера и вы хотите, чтобы связанный с ней идентификатор добавлял столбец «user_id» для хранения идентификатора пользователя. Оттуда, когда пользователь регистрируется в проходе этого идентификатора на ваш php-скрипт. Затем вы можете использовать запрос

$user_id = strip_tags(stripslashes($_GET['user_id'])); 
$query="SELECT * FROM dealers where user_id='$user_id'"; 

, чтобы получить данные, связанные с этим user_id

Чтобы сделать этот запрос в Java просто передать идентификатор пользователя в URL, который вы используете

result = getAsyncData.execute("http://10.0.2.2/cibi/viewDealer.php?user_id="+varHoldingUserId).get(); 
+0

Thankyou очень ! Это работает. – Nes

+0

Если этот ответ является тем, что вы искали, пожалуйста, примите в качестве ответа. – ksealey

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