How to send array and variable from php to android app?

我与影子孤独终老i 提交于 2019-12-24 22:38:27

问题


I need help. Have seen similar questions but I cant still do it. So I post mine. php codes runs well so far. Ijust dont know how to get the array. How can I get the array from php and list it in my alertdialog like this:

soy sauce - $1
onion - $1
total= $2

Or is this possible or not? Or maybe please tell me what to add in here. Thanks for your time in advance. Any form of help would be appreciated.

This are my codes:

public class updateData2 extends AsyncTask<String, String, String> {

    @Override
    protected String doInBackground(String... params) {


        ArrayList<NameValuePair> postVars = new ArrayList<>();
        postVars.add(new BasicNameValuePair("JSON", String.valueOf(EverythingJSON)));
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://abcabc.com/buy_now.php");


        try {
            httppost.setEntity(new UrlEncodedFormEntity(postVars));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        try {
            HttpResponse response = httpclient.execute(httppost);
            String responseBody = EntityUtils.toString(response.getEntity());
        } catch (ClientProtocolException e) {
            e.printStackTrace();
            Log.v("MAD", "Error sending... ");
        } catch (IOException e) {
            e.printStackTrace();
            Log.v("MAD", "Error sending... ");
        }
        return null;

    }

    @Override
    protected void onPostExecute(String result) {
        Toast.makeText(Cart.this,EverythingJSON.toString(), Toast.LENGTH_LONG).show();


        AlertDialog.Builder builder = new AlertDialog.Builder(Cart.this);
        builder.setTitle("ORDER:");
        builder.setMessage(EverythingJSON.toString());

        builder.setPositiveButton("Confirm",
                new DialogInterface.OnClickListener()
                {
                    public void onClick(DialogInterface dialog, int id)
                    {

                    }
                });

        builder.show();

    }


}

php

    <?php 
require "conn.php";
$total = 0;
// $ing = array("ampalaya", "soy sauce");
$JSON_Received = $_POST["JSON"];
$obj = json_decode($JSON_Received, true);

$products_name_array = array();
$products_price_array = array();

// foreach($ing as $value){

foreach($obj['ques'] as $value){

    $sql="select MIN(product_price) , product_id , store_id , product_name,product_unit_of_measure , product_price ,product_stock  from products where product_name like '%$value%'";

    $result2 = mysqli_query($conn, $sql);

    if(mysqli_num_rows($result2) > 0){
        while($row = mysqli_fetch_assoc($result2)){

            $product_id=$row['product_id'];                           
            $store_id=$row['store_id'];                                 
            $product_name=$row['product_name'];                         $products_name_array[] = $product_name;
            $product_unit_of_measure=$row['product_unit_of_measure'];   
            $product_price=$row['product_price'];                       $products_price_array[] = $product_price;

            $total = $total+$product_price;

        }}

 }
foreach($products_name_array as $key => $value) {
    echo $products_name_array[$key] . " -    " . "$" . $products_price_array[$key] . ".00" ."<br>";
}


     echo "</br>";  
     echo "</br>";  
     echo "TOTAL IS:   ".$total. ".00"; 
     ?>

回答1:


example: getArray.php

<? echo json_encode($your_array);?>

and in android use for example retrofit library(http client)

interface phpApi{
   @GET("url/getArray.php")
   Call<YourObject> getArray();
 }


来源:https://stackoverflow.com/questions/58951429/how-to-send-array-and-variable-from-php-to-android-app

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!