将json数组对象传递给php

将json数组对象传递给php,php,android,mysql,json,Php,Android,Mysql,Json,上面的android代码用于通过php json encode从mysql数据库填充spinner 我需要知道如何将json数组中提到的id传递给我的php 我的php代码 private void populateSpinner() { List<String> list = new ArrayList<String>(); list.add("Salary"); list.add("Sales");

上面的android代码用于通过php json encode从mysql数据库填充spinner 我需要知道如何将json数组中提到的id传递给我的php

我的php代码

  private void populateSpinner() {
        List<String> list = new ArrayList<String>();
        list.add("Salary");
        list.add("Sales");
        list.add("Others");
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, list);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        dataAdapter.notifyDataSetChanged();
        spinner2.setAdapter(dataAdapter);

        List<String> lables = new ArrayList<String>();

          for (int i = 0; i < categoriesList.size(); i++) {
        lables.add(categoriesList.get(i).getName());
    }

    // Creating adapter for spinner
    ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, lables);

    // Drop down layout style - list view with radio button
    spinnerAdapter
            .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    // attaching data adapter to spinner
    spinner1.setAdapter(spinnerAdapter);
}





/**
 * Async task to get all food categories
 * */
private class GetCategories extends AsyncTask<Void, Void, Void> {

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pDialog = new ProgressDialog(CampaignStatus.this);
        pDialog.setMessage("Fetching values..");
        pDialog.setCancelable(false);
        pDialog.show();

    }

    @Override
    protected Void doInBackground(Void... arg0) {
        ServiceHandler jsonParser = new ServiceHandler();
        String json = jsonParser.makeServiceCall(URL_CATEGORIES, ServiceHandler.GET);
        Log.e("Response json: ", "> " + json);
          if (json != null) {
            try {
                JSONObject jsonObj = new JSONObject(json);
                if (jsonObj != null) {
                    JSONArray categ = jsonObj
                            .getJSONArray("categories");                       

                    for (int i = 0; i < categ.length(); i++) {
                        JSONObject catObj = (JSONObject) categ.get(i);
                        Category cat = new Category(catObj.getInt("id"),  //i need to pass this id//
                                catObj.getString("name"));
                        categoriesList.add(cat);
                        Object a=categoriesList.get(i);
                        System.out.print(a);
                    }
                }

            } catch (JSONException e) {
                e.printStackTrace();
            }


        } else {
            Log.e("JSON Data", "Didn't receive any data from server!");
        }

        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        if (pDialog.isShowing())
            pDialog.dismiss();
        populateSpinner();

            }

}
我的php总是不返回提供的名称。如何通过json解码将campid从android端传递到php端它是一个json对象

我已经研究了与此异常相关的问题,但是我仍然无法找到解决方案


我无法将doinBackground函数中定义的json对象id传递给我的php变量$campid。请简单回答

您在通过`ServiceHandler.GET`url'传递campid时有任何问题吗?我想通过一个新的php文件和一些url\u类别url传递campid。GET`url用于处理http post以填充微调器。我想获得doinBackground方法中提到的spinner的选定id,并通过json解码将其传递给php。或任何其他更简单的方法(如适用)。
<?php
    $hostname_localhost ="sks10";
    $database_localhost ="ccvv7";
    $username_localhost ="sks18";
    $password_localhost ="sks18";
    $localhost = mysql_connect($hostname_localhost,$username_localhost,$password_localhost)
    or
    trigger_error(mysql_error(),E_USER_ERROR);
    mysql_select_db($database_localhost, $localhost);
    if (isset($_POST["campid"]))
        {
            $campid = $_POST["campid"];
            echo $campid;
            echo " is your name";
        }
        else
        {
            $campid = null;
            echo "no name supplied";
        }
    $query_search = "SELECT CRM_TASK_ID FROM CRM_COMPLETED_TASK WHERE CRM_CAMPAIGN_ID='.$campid.' AND CRM_FILTER_ID='1207' and
            crm_task_id not in (select crm_task_id from crm_completed_task where crm_campaign_id = '.$campid.' and crm_filter_id = '1207')
    and crm_task_id not in (select  distinct crm_task_id from crm_daily_stat_details where crm_daily_stat_id in (select crm_daily_stat_id from crm_daily_stat where crm_campaign_id = '.$campid.' and crm_filter_id = '1207') and crm_task_id not in 
                    (select crm_task_id from crm_daily_stat_details where crm_daily_stat_id in (select crm_daily_stat_id from crm_daily_stat where crm_campaign_id = '.$campid.'
                     and crm_filter_id = '1207' and crm_post_code_categ_id != 1000)))";
    $query_exec = mysql_query($query_search) or die(mysql_error());
    $rows = mysql_num_rows($query_exec);
    echo $rows;

?>