2016-03-12 1 views
-1

Je veux poster quelque chose comme ça [1,2,14,15] en utilisant volley dans mon fichier PHP où il y a un SQL pour récupérer les données de la base de données.Post Array en utilisant volley

Voici ma volée:

Map<String, String> userParams = new HashMap<String, String>(); 
      listParams.put(TAG_IDS, all_ids); 

      CustomRequest myREquest= new CustomRequest(Request.Method.POST, URL, listParams, 
        new Response.Listener<JSONObject>() { 
         @Override 
         public void onResponse(JSONObject response) { 

Et dans mon fichier PHP je vais utiliser un quelque chose comme SQL ceci:

$liste=$_POST['IDS'] ; 
$val= array_map('intval', $liste); 
     $new_liste = implode("','", $val);  
$query = "SELECT * table WHERE IDS IN('".$new_liste ."')"; 

Voici mon CustomRequest

public class CustomRequest extends Request<JSONObject> { 

    private Response.Listener<JSONObject> listener; 
    private Map<String, String> params; 

    public CustomRequest(String url, Map<String, String> params, Response.Listener<JSONObject> reponseListener, 
         Response.ErrorListener errorListener){ 
     super(Method.GET, url, errorListener); 
     this.listener=reponseListener; 
     this.params= params; 
    } 

    public CustomRequest(int methode, String url, Map<String, String> params, Response.Listener<JSONObject> reponseListener, 
         Response.ErrorListener errorListener){ 
     super(methode,url,errorListener); 
     this.listener = reponseListener; 
     this.params = params; 
    } 

    protected Map<String, String> getParams() 
     throws com.android.volley.AuthFailureError{ 
     return params; 
    } 

    @Override 
    protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) { 

     try { 
      String jsonString = new String(response.data, 
        HttpHeaderParser.parseCharset(response.headers)); 
      return Response.success(new JSONObject(jsonString), 
        HttpHeaderParser.parseCacheHeaders(response)); 

     }catch (UnsupportedEncodingException e){ 
      return Response.error(new ParseError(e)); 
     }catch (JSONException je){ 
      return Response.error(new ParseError(je)); 
     } 
    } 

    @Override 
    protected void deliverResponse(JSONObject response) { 
     listener.onResponse(response); 
    } 
} 

S'il vous plaît hel p.

Répondre

0

Vous devez itérer votre all_ids et les mettre tous dans Map qui sera envoyé au serveur. Par exemple:

  @Override 
      protected Map<String, String> getParams() { 
       Map<String, String> params = new HashMap<>(); 

       for(int i=0; i<all_ids.size(); i++) { 
        params.put(TAG_IDS + "[" + i + "]", all_ids.get(i).toString()); 
       } 

       return params; 
      }