2014-04-16 47 views
1

我正在使用PHP獲取JSON數組,以便由Android應用程序檢索。將字符串添加到JSON數組中的行

其中一個字段被稱爲strImagen,該字段存儲文件名。

我需要將URL路徑添加到文件名作爲JSON編碼行的一部分。

實施例:

如果

$row['strImagen'] = '123456789.png' 

它應該是

htttp://myserverURL/images/123456789.png 

這是我創建JSON數組的代碼PHP的一部分:

// query the application data 
$sql = "SELECT * FROM tbempresas"; 
$result = mysqli_query($con, $sql); 

// an array to save the application data 
$rows = array(); 

// iterate to query result and add every rows into array 
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 
    $rows[] = $row; 
} 

// close the database connection 
mysqli_close($con); 

// echo the application data in json format 
echo json_encode($rows); 

我需要你的幫助這樣做...謝謝

+0

所以你所做的任何嘗試做到這一點呢?畢竟你只是談論基本的字符串連接。 –

+1

@MikeBrant,謝謝,但我認爲這是比較複雜的基本字符串連接,至少對我來說PHP級別,我相信你是一個專家,但我不是。無論如何謝謝你。 – mvasco

+0

@msvasco它不比基本字符串連接複雜。請參閱下面的AbraCadaver的答案。 –

回答

1

您可以使用array_walk。..在while循環結束後添加以下代碼。

array_walk($row,function (&$v){ $v['strImagen']='http://myserverURL/images/'.$v['strImagen'];}); 
+1

謝謝,我會嘗試你的建議。 – mvasco

+1

它的工作原理,但我得到奇怪的字符直接在瀏覽器上執行PHP,我想它會在應用程序看起來很好。再次感謝你。 – mvasco

+0

如果沒有,請讓我知道,很高興看到這個問題;) –

1

只要做到這一點的循環:

while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 
    $row['strImagen'] = "htttp://myserverURL/images/{$row['strImagen']}"; 
    $rows[] = $row; 
} 
+0

謝謝你,我會嘗試你的建議。 – mvasco

+0

您的建議無法使用,JSON輸出與您的代碼行相同或不相同。 – mvasco

+0

可能它是一個瀏覽器問題,不用擔心,我想你說的沒問題。謝謝 – mvasco