2016-07-28 100 views
2

我遇到了一些問題,我在google和stackoverflow上搜索過,但找不到任何可以解答我的問題的東西。如何使用Volley Android Studio將數組插入到MySQL

我的情況是,我不能保存數組列表到我的數據庫。

I have Multiple selection, and a put it to RecycleView like this 我從Recyleview的地位和價值,然後放入一個數組,接下來我把他們每個人到一個HashMap,保存全成,但所有的數據都保存有重複的值(同一與數組的長度)

This is data from my DB, is duplicated saved, but i have select two different item

StringRequest postRequest = new StringRequest(Request.Method.POST, url, 
      new Response.Listener<String>() { 
       @Override 
       public void onResponse(String response) { 
        try { 
         JSONObject jPesan = new JSONObject(response); 
         boolean pesan = jPesan.names().get(1).equals("success"); 
         if (pesan == true){ 
          PD.dismiss(); 
          Toast.makeText(getApplicationContext(), 
            "Data Personil Terlibat Berhasil di Simpan", 
            Toast.LENGTH_SHORT).show(); 
         }else if(pesan == false){ 
          Toast.makeText(getApplicationContext(), 
            "Terjadi Kesalahan", 
            Toast.LENGTH_SHORT).show(); 
         } 

        } catch (JSONException e) { 
         e.printStackTrace(); 
        } 
       } 
      }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      PD.dismiss(); 
      Toast.makeText(getApplicationContext(), 
        "Terjadi Kesalahan Jaringan", Toast.LENGTH_SHORT).show(); 
     } 
    }) { 
     @Override 
     protected Map<String, String> getParams() { 

      // HERE I PUT ARRAY TO HASMAP 

      Map<String, String> params = new HashMap<String, String>(); 
      for (int i = 0; i < arrPers.length; i++){ 
       params.put("nrp", arrPers[i]); 
       params.put("id-jadwal", idJadwal); 
      } 

      return params; 


     } 
    }; 

    // Adding request to request queue 
    MyApplication.getInstance().addToReqQueue(postRequest); 

} 

回答

0

可以通過指定的鍵發送陣列:

Map<String, String> params = new HashMap<String, String>(); 
for (int i = 0; i < arrPers.length; i++){ 
    params.put("nrp["+i+"]", arrPers[i]);//specify the key of the array you post 
    params.put("id-jadwal", idJadwal); 
} 

在你的PHP你應該有這樣的東西:

var_dump($_POST['nrp']);// array('1110112','1110113'....); 

foreach($_POST['nrp'] as $option) { //just as an example 
    //insert each element in db ($option and user id) 
} 
+0

謝謝老兄:)它的工作 – Ard