2016-01-27 31 views
0

我需要將mysql查詢的結果追加到另一個查詢的現有結果,並且兩個查詢都在不同的表上執行,實際上我真正想要從主表獲取值並獲取一些來自另一個表的數據使用第一個值,並使用json編碼組合在一起。php mysql將子數組添加到主數組

$query = "select ID,TIMESTAMP,UUID from TABLE1 where USERNAME='$user'"; 
$result = mysqli_query($conn, $query); 

$numrows = mysqli_num_rows($result); 
if($numrows>0) 
{ 
    $res=$a; 
    $myArray = array(); 
    while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 
     $eachuuid = $row[UUID]; 
     $query1 = "select ID,IMAGEURL from TABLE_IMAGES where IMG_UUID='$eachuuid'"; 
     $result1 = mysqli_query($conn, $query1); 
     $numrows1 = mysqli_num_rows($result); 

     if($numrows1>0){ 
      $res1; 
      $myArray1 = array(); 
      while($row1 = mysqli_fetch_array($result1, MYSQLI_ASSOC)) { 
      $myArray1[] = $row1; 
      } 
      $row['IMG_URL']=$myArray1; 
     } 

     $myArray[] = $row; 
    } 

    $res['Data']=$myArray; 
    echo json_encode($res); 

結果:

{"Response":"OK","Data":[{"ID":"62", 
          "TIMESTAMP":"26 January", 
          "UUID":"12345", 
          "IMG_URL":[{"ID":"5","IMAGEURL":"26_January_2016_22_39_28_crop.jpg"}]}]} 

,我需要得到輸出一樣,

{"Response":"OK","Data":[{"ID":"62", 
           "TIMESTAMP":"26 January", 
           "UUID":"12345", 
           "IMG_URL":{"ID":"5","IMAGEURL":"26_January_2016_22_39_28_crop.jpg"}}]} 

手段需要從IMG_URL節中刪除[],這樣我可以輕鬆地分析數據。

+0

$ user的值來自哪裏?如果由用戶提交,則需要對其進行驗證並使用準備好的語句。對於第二個查詢,考慮使用IN作爲WHERE子句而不是多次訪問數據庫。有沒有可以用於連接的公共字段? – SpacePhoenix

+0

變量'$ user'在調用form客戶端時作爲參數傳遞給php,我不明白是否有可用於連接的公共字段? – Haris

回答

1

你可以做到這一點

$row['IMG_URL']=$myArray1[0]; 

或者

$myArray1 = null; 
    while($row1 = mysqli_fetch_array($result1, MYSQLI_ASSOC)) { 
     $myArray1 = $row1; 
    } 
    $row['IMG_URL']=$myArray1; 

我希望這有助於。