ive got a php file that connect to database and fetches data, now i want this data to be sent to my java code and be stored as an array, for connecting to php and retriving results i am using AsyncHttpClient now in AsyncHttpClient their is a func onSucess that takes a string value as its parameter, soo anything coming from php is stored as string. i want it to be array.. please suggest me a way, either to get an array instead of string following is my code.
public void func3(View view)throws Exception
{
AsyncHttpClient client = new AsyncHttpClient();
RequestParams rp = new RequestParams();
rp.put("pLat", "select * from iwmp_state");
client.post("http://10.0.2.2/conc2.php", rp, newAsyncHttpResponseHandler() {
public final void onSuccess(Array response) {
// handle your response here
//tx.setText(response.toString());
}
@Override
public void onFailure(Throwable e, String response) {
// something went wrong
tx.setText(response.toString());
}
});
}
and ive got a php file which echos an array $row
<?php
// attempt a connection
$dbh = pg_connect("host=10.22.35.11 dbname=iwmp_dev2 user=postgres ");
if (!$dbh) {
die("Error in connection: " . pg_last_error());
}
// execute query
$sql = $_POST['pLat'];
$result = pg_query($dbh, $sql);
if (!$result) {
die("Error in SQL query: " . pg_last_error());
}
$array = array();
// iterate over result set
// print each row
while ($row = pg_fetch_array($result)) {
$i++;
echo $row[0];
}
// free memory
pg_free_result($result);
// close connection
pg_close($dbh);
?>
what php echos is array and what onSuccess takes as parameter is string. what to do!
Here, i am just showing simple demo.You have to update as per your requirement.
Creating simple PHP Array , For more detail click here
<?php
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++)
{
echo $cars[$x];
echo "<br>";
}
echo json_encode($cars);
exit;
?>
Now How to read PHP array inside in android ?
String String_Response = ""; // this is your web response
Create a ArrayList.
ArrayList<String> User_List = new ArrayList<String>();
try
{
JSONArray jArray = new JSONArray(String_Response);
for (int i = 0; i < jArray.length(); i++)
{
JSONObject json_data = jArray.getJSONObject(i);
User_List.add(json_data.getString("your_json_obj"));
}
}
catch (Exception e)
{
Log.e(TAG, "" + e);
}
Also check out below link in that you will get more idea how to send and receive data from android to php.
Android + PHP Communication Example
It is hard for me to understand what you wish to achieve, but perhaps I can help a little with: Implode your php array into a string (http://php.net/manual/en/function.implode.php) then at least you can see what you are returning and perhaps re-process it client side?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With