2012-03-19 49 views
0

我努力追加從PHP中的SQL查詢中獲取的數據。基本上我到目前爲止 -在特定格式的循環中追加數組

$sql = "SELECT * FROM product WHERE productId = '1'"; 
$result = mysql_query($sql); 
if(mysql_affected_rows() > 0){ 
    while($row = mysql_fetch_assoc($result)){ 
      extract($row); 
     $response["Sales"][]["Products"]["SaleProduct"] = array('ProductName'=>$ProductName); 
    } 
} 

這將工作的大部分。它將追加到每個數組,但是我絆倒的地方是如果SQL返回多於1行...

基本上,我嘗試在Web服務中返回一個數組,它將返回「Sales」。每個銷售可能有許多產品。憑藉我迄今爲止的代碼,每件產品只能滿足一種產品。如果銷售2種產品,那麼它實質上會創造2種銷售,每種產品都有1種產品。

任何人都可以引導我以正確的方式獲得我所需要的東西嗎?

感謝

+0

期望的陣列格式是什麼?在這裏也不需要提取。 'arrayName('ProductName'=> $ ProductName)''可以寫成'array('ProductName'=> $ row ['ProductName'])' – 2012-03-19 09:52:43

回答

1

根據您的描述,這聽起來像你所追求的:

$response["Sales"]["Products"][] = array('ProductName'=>$ProductName); 

普遍的問題是,你沒有使用[]語法不夠仔細。在表達式的末尾處僅使用是個好主意。

+0

我試過了,我無法連載結果 – 2012-03-19 09:40:19

+0

@RoryStandley :那裏沒有太多的信息。 – Jon 2012-03-19 09:43:22