我有一组名为:
$listOfVendors 我在视图中循环遍历这个数组,并给出了一个前瞻。
<?php foreach($listOfVendors as $vendor):?>
<p class="vendor">
<span class="vendor-title"><?php echo $vendor->name ?>(<?php echo $vendor->country ?>)</span>,
<?php echo $vendor->goods ?>, <a href="<?php echo $vendor->site_adres ?>" class="vendor-link"><?php echo $vendor->site_adres ?></a>
</p>
<?php endforeach ?> 每个供应商对象具有以下属性:
site_address,activities_Id. vendors_Id,name,country,goods,最后一个活动,activities_Id,是表中活动的FK,目前有两种类型的活动:经销商和艺术家。
现在,我想为每种类型的供应商添加一次头。所以想要得到这样的东西:
艺术家
Vendor1(DE),艾根海报e.a。商品,http://www.linktosite.com
经销商
Vendor2(BE),玩具,DVD,书籍,http://www.anotherlink.be
Vendor3(FR),商品,http://www.anotherlink2link.be
我该怎么做?我似乎无法理解这件看似简单的事情。
编辑解决方案
控制器动作->函数供应商
//Get the vendor information and add the needed headers
//Here I get all the vendors
if($listOfVendors = $this->atsusacon_model->get_records()) {
foreach($listOfVendors as $vendor) {
$listOfVendorsByType[$vendor->activities_Id][] = $vendor;
}
$data['listOfVendorsByType'] = $listOfVendorsByType;
var_dump($listOfVendorsByType);
} 查看活动/供应商
<section class="vendors-overview twelvecol clearBoth">
<?php foreach($listOfVendorsByType as $activity):?>
<?php if ($activity[0]->activities_Id == 1) :?>
<h3>Artists</h3>
<?php else :?>
<h3>Dealers</h3>
<?php endif ?>
<?php foreach($activity as $vendor):?>
<p class="vendor">
<span class="vendor-title"><?php echo $vendor->name ?>(<?php echo $vendor->country ?>)</span>, <?php echo $vendor->goods ?>, <a href="<?php echo $vendor->site_address ?>" class="vendor-link"><?php echo $vendor->site_address ?></a>
</p>
<?php endforeach ?>
<?php endforeach ?>
</section>我可以让它更有活力,但就目前而言,它应该是这样的。
var_dump of $listOfVendorsByType看起来如下所示:

发布于 2012-05-18 13:39:16
您必须创建一个嵌套数组:
<?php
foreach($listOfVendors as $vendor) {
$vendorsByType[$vendor['activities_id']][] = $vendor;
}
?> 现在,您只需要使用两个foreach循环来循环这个嵌套数组。
发布于 2012-05-18 13:38:13
猜测您必须获得外键的数据,而不是必须循环两次:确保您“链接”供应商和激活正确。
foreach (activities ...) {
// looping 2 times
foreach (vendor ...) {
// looping x times (=amount of vendors)
...
}
}发布于 2012-05-18 13:44:51
添加此数组
$header = array( "header1", "header2", "header3" );// $header = "header1“$header1 = "header2”等等
$i=0;
<?php foreach($listOfVendors as $vendor):?>
<p class="header">
<?php echo $header[$i]; $i++; ?>
</p>
<p class="vendor">
<span class="vendor-title"><?php echo $vendor->name ?>(<?php echo $vendor->country ?>)</span>,
<?php echo $vendor->goods ?>, <a href="<?php echo $vendor->site_adres ?>" class="vendor-link"><?php echo $vendor->site_adres ?></a>
</p>
<?php endforeach ?> https://stackoverflow.com/questions/10653643
复制相似问题