Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中使用$u POST将数据从数据库解析到Android_Php_Android_Json_Database Connection_Httpurlconnection - Fatal编程技术网

在php中使用$u POST将数据从数据库解析到Android

在php中使用$u POST将数据从数据库解析到Android,php,android,json,database-connection,httpurlconnection,Php,Android,Json,Database Connection,Httpurlconnection,我是Android编程新手,我正在制作一个应用程序,它有一个服务器端数据库,其中包含药物名称列表,每个药物都有其特定的参考ID。现在我想要的是,当用户通过单击按钮搜索药物名称时,它应该运行数据库搜索,并根据药物是否存在于数据库中以及输入的特定参考ID返回值。我该怎么做才能那样做。。我被引用id问题困住了,它不是获取引用id,只是查询药物名称??如果出了问题,请提出建议 //This is my SecondActivity.java public class SecondActivit

我是Android编程新手,我正在制作一个应用程序,它有一个服务器端数据库,其中包含药物名称列表,每个药物都有其特定的参考ID。现在我想要的是,当用户通过单击按钮搜索药物名称时,它应该运行数据库搜索,并根据药物是否存在于数据库中以及输入的特定参考ID返回值。我该怎么做才能那样做。。我被引用id问题困住了,它不是获取引用id,只是查询药物名称??如果出了问题,请提出建议

//This is my SecondActivity.java

    public class SecondActivity extends AppCompatActivity implements View.OnClickListener {

    final String LOG = "SecondActivity";
        Button btnCheck;
        EditText etDrugname;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_second);
            etDrugname = (EditText) findViewById(R.id.etDrugname);
            btnCheck = (Button) findViewById(R.id.btnCheck);
            btnCheck.setOnClickListener(this);
        }

        @Override
        public void onClick(View v) {
            HashMap postData = new HashMap();
            String Drugname = etDrugname.getText().toString();
           postData.put("txtDrugname", Drugname);
            PostResponseAsyncTask task1 = new PostResponseAsyncTask(SecondActivity.this, postData,
                    new AsyncResponse() {
                        @Override
                        public void processFinish(String s) {
                            Log.d(LOG, s);
                            if (s.contains("Drug found")) {

   Intent intent = new Intent(SecondActivity.this, DisplayActivity.class);

   intent.putExtra("Drugname", etDrugname.getText().toString());

startActivity(intent);
                            } else {
                                Intent intent = new Intent(SecondActivity.this, Display2Activity.class);
                                intent.putExtra("Drugname", etDrugname.getText().toString());
                                startActivity(intent);
                            }
                        }
                    });
            task1.execute("http://www.e-bioinformatics.net/db/utipedia/test/login2.php");
        }
    }
//这是我的DisplayActivity.java,我想在这里显示我的结果

`

ListView-lv;
//列表视图PMID1;
阵列适配器;
字符串地址=”http://www.e-bioinformatics.net/db/utipedia/test/login2.php";
InputStream=null;
字符串行=null;
字符串结果=null;
字符串[]数据;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_显示);
TextView结果=(TextView)findViewById(R.id.result);
result.setText(getIntent().getExtras().getString(“药名”);
lv=(ListView)findViewById(PMID);
StrictMode.setThreadPolicy((新的StrictMode.ThreadPolicy.Builder().permitNetwork().build());
getData();
adapter=new ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,数据);
低压设置适配器(适配器);
私有void getData(){
试一试{
URL=新的URL(地址);
HttpURLConnection connection=(HttpURLConnection)url.openConnection();
connection.setRequestMethod(“GET”);
is=新的BufferedInputStream(connection.getInputStream());
}捕获(例外e){
e、 printStackTrace();
}
试一试{
BufferedReader br=新的BufferedReader(新的InputStreamReader(is));
StringBuilder sb=新的StringBuilder();
而((line=br.readLine())!=null){
sb.追加(第+行“\n”);
}
is.close();
结果=sb.toString();
}捕获(例外e){
e、 printStackTrace();
}
试一试{
JSONArray ja=新JSONArray(结果);
JSONObject jo;
数据=新字符串[ja.length()];
对于(int i=0;iListView lv;
    //ListView PMID1;
    ArrayAdapter<String> adapter;
    String address = "http://www.e-bioinformatics.net/db/utipedia/test/login2.php";
    InputStream is = null;
    String line = null;
    String result = null;
    String[] data;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_display);

        TextView result = (TextView) findViewById(R.id.result);
        result.setText(getIntent().getExtras().getString("Drugname"));

        lv = (ListView) findViewById(PMID);


        StrictMode.setThreadPolicy((new StrictMode.ThreadPolicy.Builder().permitNetwork().build()));
        getData();


        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data);
        lv.setAdapter(adapter);


    private void getData() {
        try {
            URL url = new URL(address);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");


            is = new BufferedInputStream(connection.getInputStream());

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

        try {
            BufferedReader br = new BufferedReader(new InputStreamReader(is));
            StringBuilder sb = new StringBuilder();

            while ((line = br.readLine()) != null) {
                sb.append(line + "\n");
            }

            is.close();

            result = sb.toString();

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


        try {
            JSONArray ja = new JSONArray(result);
            JSONObject jo;
            data = new String[ja.length()];

            for (int i = 0; i < ja.length(); i++) {
                jo = ja.getJSONObject(i);
                data[i] = jo.getString("Referenceid");
            }

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


    }

//this is my php script

<?php
    $input= $_POST['txtDrugname'];
    $input = strtolower($input);

if($input == ''){
echo "OOPS! It seems the input section is left blank. <br>please submit the <b>drug name.</b>";
}else{

/*  $ucaredb = mysql_connect("localhost", "ebioinfo_ucare", "admin_ucare")
    or die(mysql_error());*/

    $utidb = mysql_connect("localhost", "ebioinfo_uti0912", "uti@097")
    or die(mysql_error());



    mysql_select_db("ebioinfo_utipedia",$utidb);

    /*
    $sql_antibiotics = "SELECT * FROM antibiotics"; 
    $result_antibiotics = mysql_query($sql_antibiotics, $ucaredb);
    $sql_resistancegene = "SELECT * FROM resistancegene"; 
    $result_resistancegene = mysql_query($sql_resistancegene, $ucaredb);*/

    $sql_drug = "SELECT * FROM UTIPEDIA"; 
    $result_drug = mysql_query($sql_drug, $utidb);




    $i=0;


        while ($row_drug = mysql_fetch_array($result_drug))
        {
            $resistance_drug = $row_drug['Drugname'];
            $resistance_drug = strtolower($resistance_drug);

            $resistance_ref = $row_drug['Referenceid'];
            $part = explode(',', $resistance_ref);


            if($input == $resistance_drug)
            {

                    $i=1;
                    echo "Drug found";
                    echo "<h2><b>$input</b> is resistant against <i>Escherichia coli.</i></h2> <br>For further details see the following bibliography: ";
                    //echo "$resistance_ref";
                                        print(json_encode($resistance_ref));





            }


        }if($i !=1){echo "$input is not found in the database!";}




    }