2017-01-09 58 views
0
$emparray=array(); 
    while($row = mysqli_fetch_array($result,MYSQL_NUM)) 
    { 
     foreach ($row as $key => $value) 
     { 
      if ($value == '') 
      { 
       $row[9] ='We follow-up you'; 
      } 
     } 
     $emparray[] = array 
     ('success' => true, 
      'message' => "audio saved Successfully!", 
     array('client_cname' => $row[2], 
      'future_followup' => $row[8], 
      'notes' => $row[9]));    

    }     

**你可以在上面看到這是我的代碼,使用while循環從db中獲取記錄。 問題是即時獲取所有記錄,但與不同的arrys。我希望它在僅1陣列指標**上述如何使用php獲取json數組中的記錄?

[ 
    { 
     "success": true, 
     "message": "audio saved Successfully!", 
     "0": { 
      "client_cname": "Hhhs", 
      "future_followup": "4 Jan 2017 05:17 PM", 
      "notes": "hey" 
     } 
    }, 
    { 
     "success": true, 
     "message": "audio saved Successfully!", 
     "0": { 
      "client_cname": "Hcjc", 
      "future_followup": "4 Jan 2017 06:17 PM", 
      "notes": "hey" 
     } 
    } 
] 

是我的O/P

,我想它在下面的格式,請幫助我一樣。

{ 
    "status": "true", 
    "message": "Audio Saved successfully!" 
    [ 
    { 
      "client_cname": "Atul", 
     「future_followup": 「」, 
     「notes": 「」, 
    }, 
    { 
      "client_cname": "Atul", 
     「future_followup": 「」, 
     「notes": 「」, 
    } 
    ] 
} 

如果我刪除 - > []從$ emparray的話,我會得到表的只有最後一排像下面的代碼

{ 
    "success": true, 
    "message": "audio saved Successfully!", 
    "0": { 
     "client_cname": "Hcjc", 
     "future_followup": "4 Jan 2017 06:17 PM", 
     "notes": "hey" 
     } 
} 

,但我想這種結果與指數0, 1,2等。

請幫助我一樣。提前致謝。

+0

你想要的格式開始是不是一個有效的JSON –

+0

哦~~但wt如果我想要索引的單個數組中的所有行 –

回答

0

這裏就是你需要做的:

if(mysqli_num_rows($result)>0) { //if there are any results 
    //initialise the array with the first two values 
    $emparray = array(
    'success' => true, 
    'message' => "audio saved Successfully!"); 
} 

while($row = mysqli_fetch_array($result,MYSQL_NUM)) 
{ 
    foreach ($row as $key => $value) 
    { 
     if ($value == '') 
     { 
      $row[9] ='We follow-up you'; 
     } 
    } 

    //append each data item as an array 
    $emparray[] = array('client_cname' => $row[2], 
     'future_followup' => $row[8], 
     'notes' => $row[9]));    

}   

這也將自動索引中的所有其他陣列數字,從0

+0

非常感謝shalvah。它的作品適合我。謝謝 –

+0

很高興我能幫忙。祝福你! – shalvah

0
May be this is more better way to deal with. 

$dataSet = array(); 
    while ($row = mysqli_fetch_array($result, MYSQL_NUM)) { 
     foreach ($row as $key => $value) { 
      if ($value == '') { 
       $row[9] = 'We follow-up you'; 
      } 
     } 
     $dataSet[] = array('client_cname' => $row[2], 
      'future_followup' => $row[8], 
      'notes' => $row[9]); 
    } 

    $emparray = array 
    ('success' => true, 
     'message' => "audio saved Successfully!", 
     'data' => $dataSet); 
    echo json_encode($emparray);