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