2011-01-22 163 views
0

在我的网站,我想显示所有申请人的工作,一个用户已张贴,基本上我想出来放到simimlar也帮助foreach循环

职位1
Aplicant名称1
Aplicant名称2
申请人名称3

职位2
申请人名称4 应用程序名称5

基本上我想要的应用程序,以他们所申请的职位下聚集,但是出来把我目前得到的是,

职位1
应用名称1

职位1
申请人名称2

的代码我使用这样做foreach循环是如下

<?php foreach($applications as $a) : ?> 
     <h3><?php echo $a['jobtitle']; ?></h3> 
    <li> 
     <img src="/media/uploads/candidates/<?php echo preg_replace('/(.gif|.jpg|.png)/', '_thumb$1', $a['profile_image']);?>" width="90" height="60"/> 
     <p><?php echo $a['name']; ?></p> 
    </li> 
    <?php endforeach; ?> 
+3

你可以发布'$ applications`的print_r或var_dump吗? – 2011-01-22 17:21:24

回答

0

我们需要数据结构,正确地回答,但我假设你需要一个嵌套的foreach ...

<? foreach($jobs as $j): ?> 

# list jobs 

    <? foreach($applicants as $a): ?> 
     <? if ($j['jobtitle'] == $a['jobtitle']): ?> 

     # list applicants 

     <? endif; ?> 
    <? endforeach; ?>  

<? endforeach; ?> 
0

那么你得到的是因为你只输出

$a['jobtitle'] 

$a['name'] 

当存储在其他的名字?像这样的东西可能是你想要的东西,但如果你复制/粘贴,将无法工作,因为它似乎$应用[X] [“名”]是不是数组:

<?php foreach($applications as $a) : ?> 
     <h3><?php echo $a['jobtitle']; ?></h3> 
    <li> 
     <img src="/media/uploads/candidates/<?php echo preg_replace('/(.gif|.jpg|.png)/', '_thumb$1', $a['profile_image']);?>" width="90" height="60"/> 
     <?php foreach($a['name'] as $name)?> 
     <p><?php echo $name; ?></p> 
     <?php endforeach; ?> 
    </li> 
    <?php endforeach; ?> 
0

我建议从数据库中提取JOBTITLE和申请人并将其存储在一个多维数组。

$jobs[$jobtitle][] = $applicant_name; 

然后在您的视图中循环浏览此数组。为了清晰起见,我省略了图像代码。

foreach($jobs as $title=>applicants){ 
    echo $title; 
    foreach($applicants as $name){ 
     echo $name; 
    } 
}