I read many other questions regarding the PHP loop and JSONArray. I am sending JSONArray the values ββof different students with their class and studentId from my Android device. Using these values, I search the database for my names and return a JSONArray.
JSON Input: [{"studentId":"2","class":"2a","dbname":"testDb"}] <?php $jsonString = $_POST['json']; //see comment below $jArray = json_decode($jsonString, true); $conn = mysql_connect('localhost', 'user', 'pwd' ); mysql_select_db('dbname', $conn); foreach( $jArray as $obj ){ $className = $obj['class']; //String $id= $obj['studentId']; //int $result = mysql_query("SELECT name FROM student WHERE class='$className' AND id='$id'"); $e=mysql_fetch_assoc($result); //will only fetch 1 row of result $output[]=$e; } echo (json_encode($output)); ?>
Android
HttpClient client = new DefaultHttpClient(); HttpResponse response; try{ HttpPost post = new HttpPost("http://abc/getName.php"); List<NameValuePair> nVP = new ArrayList<NameValuePair>(2); nVP.add(new BasicNameValuePair("json", studentJson.toString())); //studentJson is the JSON input //student.Json.toString() produces the correct JSON [{"studentId":"2","class":"2a","dbname":"testDb"}] post.setEntity(new UrlEncodedFormEntity(nVP)); response = client.execute(post); if(response!=null){ //process data send from php } }
SOLVED: See answer below
source share