2016-04-28 25 views
0

我有一個android項目需要從我的在線數據庫中獲取數據庫。我爲Android開發了代碼,但現在我停留在PHP代碼中以便取回我的在線數據庫。無法將數據庫提取到PHP中對象的數組中

嗯,我使用JSON來獲取數據庫,所以我的代碼在Android上側像這樣的:

JSONArray j = new JSONArray(total); 
        JSONObject Obj = j.getJSONObject(i); 
       item.setId(Obj.getString(JF_ID)); 
       item.setTitle(Obj.getString(JF_TITLE)); 


       item.setAddress(Obj.getString(JF_ADDRESS)); 

       item.setTelephoneNumber(Obj.optString(JF_TELEPHONE, NO_DATA_FOUND)); 

       item.setEmailAddress(Obj.optString(JF_EMAIL, NO_DATA_FOUND)); 
       item.setWebUrl(Obj.optString(JF_WEB, NO_DATA_FOUND)); 
       item.setFacebookUrl(Obj.optString(JF_FACEBOOK, NO_DATA_FOUND)); 

       item.setLatitude(Obj.optDouble(JF_LATITUDE, NULL_LOCATION)); 
       item.setLongitude(Obj.optDouble(JF_LONGITUDE, NULL_LOCATION)); 
       try { 
        item.setRating(Float.parseFloat(Obj.optString(JF_RATING, NO_DATA_FOUND))); 
       } catch (NumberFormatException e) { 
        item.setRating(0.0f); 
       } 

       try { 
        item.setRatingCount(Integer.parseInt(Obj.optString(JF_RATING_COUNT, NO_DATA_FOUND))); 
       } catch (NumberFormatException e) { 
        item.setRatingCount(0); 
       } 

       item.setTagLine(Obj.optString(JF_TAG_LINE, NO_DATA_FOUND)); 
       item.setDescription(Obj.optString(JF_DESCRIPTION, NO_DATA_FOUND)); 
       item.setVerification(Obj.optString(JF_VERIFICATION, NO_DATA_FOUND).equals("1") ? true : false); 


       JSONArray imgArr = Obj.getJSONArray("thumbImage"); 
       String[] imageThumb = new String[imgArr.length()]; 

你可以看到那裏,我的模式是先取數組和獲取的對象,最後再次獲取數組。

換句話說,我希望我的結果如下例所示:

["arrayA":{"id":"1", "year":"2016","thumbnail":["a.jpg","b.jpg","c.jpg"]}] 

這裏的問題,我不能對服務器端的PHP代碼返回我想要的圖案。它總是重新調整Array> Object,只是它,在Object之後沒有數組。

下面是我寫到目前爲止爲PHP代碼:

$qu=mysqli_query($con,"select * from car_rental where rental_id='1'"); 
while ($row = mysqli_fetch_assoc($qu)) { 
    $res [] =array($row, 
     $thumbImage[] = 
     array( "t1"=>$row['thumbImage1'], 
       "t2"=>$row['thumbImage2'], 
       "t3"=>$row['thumbImage3'] 
      )); 



} 
$json["thumb"] = $res; 

echo json_encode($json); 

請高手幫幫我。 謝謝。

回答

0

至於你提到你想要一個像

["arrayA":{"id":"1", "year":"2016","thumbnail":["a.jpg","b.jpg","c.jpg"]}] 

輸出試試這個PHP代碼,而不是

$qu=mysqli_query($con,"select * from car_rental where rental_id='1'"); 

$res = array(); 
$singleRecordSet = array(); 

while ($row = mysqli_fetch_assoc($qu)) { 

    $singleRecordSet = $row; 
    $multiRecordSet = array('thumb'=>array(
           "t1"=>$row['thumbImage1'], 
           "t2"=>$row['thumbImage2'], 
           "t3"=>$row['thumbImage3'] 
         )); 
    $res = array_merge($singleRecordSet,$multiRecordSet);    
} 

$json["arrayA"] = $res; 

echo json_encode($json);