Php 如何使用循环在不同id的不同数组中执行结果

Php 如何使用循环在不同id的不同数组中执行结果,php,Php,我已经从下面的查询中生成了一个结果,如下所示。现在我得到的结果是一个数组,其中所有结果都按照“portfolio_id”存储。。。我需要为不同的投资组合id打印不同的结果数组。这怎么可能 例如,当公文包_id为1时,它将生成一帧9幅图像,公文包_id为18时,它必须生成另一帧9幅图像 $portfolio_item_query=$ilance->db->query("SELECT * FROM " . DB_PREFIX . "portfolio AS p,

我已经从下面的查询中生成了一个结果,如下所示。现在我得到的结果是一个数组,其中所有结果都按照“portfolio_id”存储。。。我需要为不同的投资组合id打印不同的结果数组。这怎么可能

例如,当公文包_id为1时,它将生成一帧9幅图像,公文包_id为18时,它必须生成另一帧9幅图像

$portfolio_item_query=$ilance->db->query("SELECT * FROM " . DB_PREFIX . "portfolio AS p,
                                        " . DB_PREFIX . "portfolio_images AS pi,
                                          " . DB_PREFIX . "users AS u,
                                        " . DB_PREFIX . "subscription_user AS su,
                                        " . DB_PREFIX . "portfolio_items AS it
                                       WHERE p.portfolio_id = it.portfolio_id
                                       AND u.user_id = p.user_id 
                                      AND it.id = pi.portfolio_item_id 
                                     AND it.portfolio_id='".$portfolio['portfolio_id']."'
                                      GROUP BY it.id ORDER BY it.id ASC LIMIT 0,9");
                            $num_rows=$ilance->db->num_rows($portfolio_item_query); 
                            if ($num_rows > 0)
        {
            while ($portfolio_item = $ilance->db->fetch_array($portfolio_item_query))
            {  
            $portfolio_html.='<li><img height="57" width="57" src="images/portfolio_uploads/orig_'.$portfolio_item['image'].'"></a></li>';

                }
                    echo $portfolio_html;
         }

您可以遍历整个数据集,跟踪每行的投资组合id。然后,每次portfoio_id更改时,都会启动一个新列表

如果我理解正确,这应该会有帮助。以下是如何使用group_id定义组,将一组通用图像分割成不同的无序列表:

// select the entire set, group by whichever field defines your groups
$result = mysql_query("SELECT image_path FROM portfolio ORDER BY group_id");

// the group_id associated with the currently growing <ul>
$current_id = null;

while ($row = mysql_fetch_array($result))
{  
    $group_id = $row['group_id'];

    // the first list
    if (is_null($current_id))
    {
        $current_id = $group_id;
        echo "<ul>\n";
    }

    // if a new group_id is encountered, close the list and start a new one
    elseif ($group_id != $current_id)
    {
        $current_id = $group_id;
        echo "</ul>\n\n<ul>\n";
    }

    echo "<li><image src=\"" . $row['image_path'] . "\"></li>\n";
}
echo "</ul>\n";
上述程序的输出如下所示:

mysql> SELECT * FROM portfolio;
+------------+----------+
| image_path | group_id |
+------------+----------+
| a.png      |        1 |
| b.png      |        3 |
| c.png      |        4 |
| d.png      |        3 |
| e.png      |        3 |
| f.png      |        1 |
| g.png      |        4 |
+------------+----------+
7 rows in set (0.00 sec)
<ul> 
<li><image src="a.png"></li> 
<li><image src="f.png"></li> 
</ul> 

<ul> 
<li><image src="b.png"></li> 
<li><image src="d.png"></li> 
<li><image src="e.png"></li> 
</ul> 

<ul> 
<li><image src="c.png"></li> 
<li><image src="g.png"></li> 
</ul>

什么是框架?一个新的?是的,结果显示出来了,但是现在不同投资组合的所有结果都在一个数组中……那么,你想为每个投资组合的id添加一个新的ul吗?