0
假設我有如下表:MySQL查詢statment取代PHP循環
- 項目(PROJECT_ID,PROJECT_NAME)
- 文件(DOCUMENT_ID,DOCUMENT_NAME ,PROJECT_ID)
這是一種自頂向下的層次結構,我使用select語句和循環來生成嵌套數組。例如:
$result_array = array();
$projects = mysql_query(' SELECT * FROM projets') ;
$i = 0 ;
while($row_proj = mysql_fetch_assoc($projects) )
{
$result_array[$i] = $row_proj ;
$documents = mysql_query('SELECT * FROM documents WHERE project_id='.$row['project_id']);
$doc_res = array();
while($row_doc = mysql_fetch_assoc($documents)
{
$doc_res[] = $row_doc;
}
$result_array[$i]['documents'] = $row_doc ;
$i++;
}
.. and so on
結果是nesteed陣列,鑑於我可以打印它像:
foreach($projects as $project)
{
echo $project['project_name'];
foreach($project['documents'] as $document)
{
echo ..
}
}
我怎麼可以使用SQL statment或任何其他東西產生這種使用簡單的平面環,這種方式似乎不是最好的,有時我使用連接,但它不會生成嵌套數組等東西。
我認爲現在的問題更加清楚... – shox