2016-10-13 3 views
3

У меня есть две таблицыВозвращаясь несколько JSON из PHP для андроид с помощью залп

UserName Name 
user01 name01 
user02 name02 

мой второй стол

Name  Subject 
name01 math 
name01 english 

Мой PHP:

if($_SERVER['REQUEST_METHOD']=='GET'){ 

     $id = $_GET['UserName']; 
    require_once('connect.php'); 

     $sql = "SELECT * FROM mytable WHERE UserName='".$id."'"; 
    $r = mysqli_query($con,$sql); 


    $result = array(); 
    while($row = mysqli_fetch_array($r)){ 
    array_push($result,array(
     'UserName'=>$row[0], 
     'name'=>$row[1], 

     ) 
    ); 
     $sqll= "SELECT * FROM subjecttable WHERE UserName='".$id."'"; 
     $r = mysqli_query($con,$sql); 

    } 

echo json_encode(array("result"=>$result)); 

    mysqli_close($con); 

} 

echo json_encode(array("result" => $result)); 

теперь у меня есть получить json внутри цикла while S также JSON вне цикла ... прямо сейчас я могу получить JSON снаружи в то время как петля

мой андроид код для извлечения JSON вне цикла в то время как

try { 
    JSONObject jsonObject = new JSONObject(response); 
    JSONArray result = jsonObject.getJSONArray(config.JSON_ARRAY); 
    for (int x = 0; x < result.length(); x++) { 
     JSONObject collegeData = result.getJSONObject(x); 
     username = collegeData.getString(config.KEY_UserName); 
     name = collegeData.getString(config.KEY_NAME); 
    } 
} catch (JSONException e) { 
    e.printStackTrace(); 
} 

Внутри этого цикла While он вернется предметы в моей второй таблице, и я должен извлечь все из них ...

+0

Ваш PHP не должен повторить JSON внутри цикла в то время как –

+0

«возвращающих несколько JSON из PHP» - Использование двух различных URL-адреса –

+0

Но привычка отвечать моим требованиям, мне нужен запрос в то время цикла, как мои таблицы зависимые друг от друга – Sarmad

ответ

0

Ну ... Я получил множественные jsons, но комбинируя их обоих

{ 
"result":[ 
{"date":"01-01-2016", 
"day_name":"Friday"},{"date":"02-01-2016", 
"day_name":"Saturday"},{"date":"03-01-2016", 
"day_name":"Sunday"},{"date":"04-01-2016", 
"day_name":"Monday"},{"date":"05-01-2016", 
"day_name":"Tuesday"},{"date":"06-01-2016", 
"day_name":"Wednesday"},{"date":"07-01-2016", 
"day_name":"Thursday"}, 
{MY OTHER JSON EXAMPLE--->"monday":"9", 
"tuesday":"9" }]} 

Тогда я использовал два для петель внутри onresponse

Первый цикл был от 0 до result.length-1 ... Это обыкновение включать последний массив Тогда второй для был от result.length-1, чтобы привести. длина. С этой реализации я был в состоянии принимать различные jsons когда один onResponse

Примечание Второй JSON не должен быть повторяющимся множество.

private void showJSON(String response){ 
    try { 
     JSONObject jsonObject =new JSONObject(response); 
     JSONArray result = jsonObject.getJSONArray(config.JSON_ARRAY); 
     for(int x=0;x<result.length()-1;x++) { 

      JSONObject collegeData = result.getJSONObject(x); 
      //collecting present object in json 
      ClassList.add(new totalClassObject(collegeData.getString("date"),collegeData.getString("day_name"))); 
      RefreshListVIew(); 

     } 
     for(int x=result.length()-1;x<result.length();x++) { 

      JSONObject collegeDays = result.getJSONObject(x); 
      //For Fetching Second type json 
     } 


    } catch (JSONException e) { 

     e.printStackTrace(); 
    } 

} 
Смежные вопросы