Я пытаюсь получить данные из Mysql из залпа, используя метод post, но это не для Android, но для HTML-формы он работает - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь использовать залп в моем проекте для обработки всего моего HTTP-запроса, но пост-запрос не выполнен.Было много решений, которые я попробовал, но не смог.Я предполагаю, что должен быть простой и стандартный способ использования залпа с PHP.Поэтому я хотел бы знать, что мне нужно сделать, чтобы получить объект json, отправленный volley в мой PHP-код.

<?php

$con = mysqli_connect(HOST, USER, PASSWORD, DATABASE);
$state = $_POST['state'];
echo $state;
$sql= "select * from $state ORDER BY shr_date DESC;";
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error() . "\n";
}
else
 {
    $result=mysqli_query($con,$sql);
    $response=array();
    while($row=mysqli_fetch_array($result))
    {
        array_push($response,array("shr_uniname"=>$row[5],"shr_heading"=>$row[1],"shr_state"=>$row[3],"shr_date"=>$row[4]));

    }
        header('Content-Type: application/json');
    echo json_encode(array("server_response"=>$response));
    mysqli_close($con);
 }

?>

Код Android для запроса сообщения о залпе.

 StringRequest stringRequest=new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        try {
                            JSONObject  jsonObject = new JSONObject(response);
                            JSONArray jsonArray=jsonObject.getJSONArray("server_response");
                            for(int i=0;i<jsonArray.length();i++)
                            {
                                JSONObject jsonObject1=jsonArray.getJSONObject(i);
                                StateModel stateModel=new StateModel(jsonObject1.getString("shr_uniname"),
                                        jsonObject1.getString("shr_state"),jsonObject1.getString("shr_heading"),
                                        jsonObject1.getString("shr_date")
                                );
                                list.add(stateModel);
                            }

                        } catch (JSONException e) {
                            e.printStackTrace();
                            requestQueue.stop();
                        }
                        stateAdapter=new StateAdapter(StateActivity.this,list);
                        recyclerView.setAdapter(stateAdapter);
                        requestQueue.stop();
                    }
                }, new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        requestQueue.stop();
                    }
                }){
                    @Override
                    protected Map<String,String> getParams()throws AuthFailureError {
                        Map<String,String> params = new HashMap<String, String>();
                        params.put("state","rajasthan");
                        return params;
                    }
                    @Override
                    public Map<String, String> getHeaders() throws AuthFailureError {
                        HashMap<String, String> headers = new HashMap<String, String>();
                        headers.put("Content-Type", "application/json; charset=utf-8");
                        return headers;
                    }

                };
                requestQueue.add(stringRequest);
            }
...