在Android中将params传递给php

时间:2014-04-29 19:06:41

标签: php android

我在将Android中的params传递给PHP时遇到了问题。

我有两项活动。一个人读取我的数据库并用该数据库中表格的行填充列表。它工作正常。然后,当我点击ListItem时,我将特定项目的ID发送到另一个活动:

String identyfikator = ((TextView)
view.findViewById(R.id.identyfikator)).getText().toString();
Intent in = new Intent(getApplicationContext(), PrzystanekKierunek.class);
in.putExtra(TAG_IDENTYFIKATOR, identyfikator);
startActivity(in);

在第二个活动中,我读了发送的ID,这是我的问题。我已经检查过这是否有效

Intent i = getIntent();        
identyfikator = i.getStringExtra(TAG_IDENTYFIKATOR);

它有效。我用我的identnyfikator更新了editText,它显示了我正确的id。但是,当我尝试将其发送到我的PHP时,它返回空白活动。这段代码有什么问题? 这是第二项活动:

package com.example.mybusstop;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.ListAdapter;
import android.widget.SimpleAdapter;


public class PrzystanekKierunek extends ListActivity {

    String identyfikator;

    private ProgressDialog pDialog;

    JSONParser jParser = new JSONParser();

    ArrayList<HashMap<String, String>> wyszukaniaList;

    private static String url_przystanek_kierunek = "http://10.0.2.2/mybusstop_php/przystanekkierunek.php";

    private static final String TAG_WYSZUKANIA = "wyszukania";
    private static final String TAG_IDENTYFIKATOR = "identyfikator";
    private static final String TAG_NAZWA = "nazwa";

    JSONArray wyszukania = null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.przystanekkierunek);

        wyszukaniaList = new ArrayList<HashMap<String, String>>();

        Intent i = getIntent();

        identyfikator = i.getStringExtra(TAG_IDENTYFIKATOR);

        new LoadKierunek().execute();

       /* ListView lv = getListView();

        lv.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {

                String identyfikator = ((TextView) view.findViewById(R.id.identyfikator)).getText().toString();

                Intent in = new Intent(getApplicationContext(), PrzystanekKierunek.class);
                in.putExtra(TAG_IDENTYFIKATOR, identyfikator);
                startActivity(in);

            }
        });
        */
    }

    class LoadKierunek extends AsyncTask<String, String, String> {

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(PrzystanekKierunek.this);
            pDialog.setMessage("Wyszukiwanie...");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(false);
            pDialog.show();
        }

        protected String doInBackground(String... args) {           
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair("identyfikator", identyfikator));

            JSONObject json = jParser.makeHttpRequest(url_przystanek_kierunek, "GET", params);

            try {
                    wyszukania = json.getJSONArray(TAG_WYSZUKANIA);
                    for (int i = 0; i < wyszukania.length(); i++) {
                        JSONObject c = wyszukania.getJSONObject(i);

                        String identyfikator = c.getString(TAG_IDENTYFIKATOR);
                        String nazwa = c.getString(TAG_NAZWA);

                        HashMap<String, String> map = new HashMap<String, String>();

                        map.put(TAG_IDENTYFIKATOR, identyfikator);
                        map.put(TAG_NAZWA, nazwa);

                        wyszukaniaList.add(map);
                    }
            } 
            catch (JSONException e) {
                e.printStackTrace();
            }

            return null;
        }

        protected void onPostExecute(String file_url) {
            pDialog.dismiss();
            runOnUiThread(new Runnable() {
                public void run() {
                    ListAdapter adapter = new SimpleAdapter(
                            PrzystanekKierunek.this, wyszukaniaList,
                            R.layout.list_item, new String[] {TAG_NAZWA, TAG_IDENTYFIKATOR},
                            new int[] {R.id.nazwaItem, R.id.identyfikator});
                    setListAdapter(adapter);
                }
            });
        }
    }
}

和PHP脚本:

<?php
$response = array();
require_once __DIR__ . '/db.connecting.php';
$db = new DB_CONNECT();

//if (isset($_GET["identyfikator"])) {
    $ide = $_GET['identyfikator'];

    $result = mysql_query("SELECT * FROM przystanek WHERE identyfikator=$ide") or die(mysql_error());

    if (mysql_num_rows($result) > 0) {
        $response["wyszukania"] = array();

        while ($row = mysql_fetch_array($result)) {
            $kierunek = array();
            $kierunek["id"] = $row["Identyfikator"];
            $kierunek["nazwa"] = $row["Nazwa_przystanek"];
            $kierunek["gps_x"] = $row["Lokalizacja_gps_x"];
            $kierunek["gps_y"] = $row["Lokalizacja_gps_y"];
            array_push($response["wyszukania"], $kierunek);
        }
        $response["success"] = 1;

        echo json_encode($response);
    } else {
        $response["success"] = 0;
        $response["message"] = "Błąd wyszukania!";

        echo json_encode($response);
    }
//}
?>

1 个答案:

答案 0 :(得分:0)

如果用以下代码替换php代码,输出是什么?

<?php
$res = json_decode(stripslashes($_GET['identyfikator']),true);
echo $res
?>