2011-08-15 121 views
1

我正在使用下面的代码从查询中创建一个多维数组,以便我可以按类别组织结果,但它只能获得2列(类别,代理)。从查询中创建多维数组

我不知道如何改变这个,以便我可以得到4列(类别,机构,描述,网站)。任何帮助是极大的赞赏。

$categories = array(); 
while ($row = mysqli_fetch_array($result)) 
{ 
    $category = $row['category']; 
    $categories[$category][] = $row['agency']; 
} 

<?php 
    foreach ($categories as $category => $agencies) 
    { 
?> 
    <h3><?php echo $category; ?></h3> 
    <table class="chart"> 
<?php 
    foreach ($agencies as $agency) 
    { 
?> 
     <tr><td><?php echo $agency; ?></td></tr> 
<?php 
    } 
?> 
    </table> 
<?php 
    } 
?> 

回答

4

你可以存储各行结果作为一个关联数组:

$categories[$category][] = array(
     'agency' => $row['agency'], 
     'description' => $row['description'], 
     'website' => $row['website'] 
); 
+0

感谢,这正是我一直在寻找。在我看来,由于某种原因,这件事情要复杂得多。 – user895314