是否有可能使用mysql查詢來創建一個多級別的數組?例如。如果我想爲每個產品獲得4張照片?你可以用一個查詢製作多層次的數組嗎?
[1] => Array('name' => 'Product 1', 'picture' => array('picture1','picture2','picture3','picture4'))
[2] => Array('name' => 'Product 2', 'picture' => array('picture5','picture6','picture7','picture8'))
或者我需要做一個foreach循環通過產品,然後在foreach使一個MySQL查詢來獲取每個產品的圖片?
編輯:
我的結構是:
P_Attributes
--------
id, int(15)
name, varchar(256)
P_AttributeValues
--------
id, int(15)
value, varchar(256)
attribute_id, int(15) [NOTE: This is connected to P_Attributes.id]
然後我想獲得所有P_AttributeValues到P_Attribute行 - 並把它在一個查詢。那可能嗎?
編輯2:
與接受的答案,筆者我做了這個PHP代碼工作中取得的查詢:
$attributevalues = $auctionClass->get_rows($id);
$attr_val = array();
foreach($attributevalues as $k => $v){
$attr_val[$v->AID]['attr_name'] = $v->AName;
$attr_val[$v->AID]['parameters'][] = array('attr_value_name' => $v->name, 'id' => $v->id);
}
MySQL不會創建數組。 –
您可以在單個查詢中提取所有必需的數據,但您需要使用PHP進行處理以獲取分層結構。 – Orbling
如果您在數據庫中顯示了表格的佈局,則可以顯示示例代碼。 – Orbling