2011-06-23 44 views
-1

我建立的一个推广我的网站,让用户喜欢的职位,不过,我有机管局问题,PHP的foreach帮助

我跑在我看来这个代码,

<?php if(isset($favourites)) : ?> 
    <?php foreach ($favourites as $fav) : ?> 
    <a href="/favourites/save_feed/<?php echo $f['feed_id']; ?>" class="<?php echo ($f['feed_id'] == $fav['feed']) ? 'faved' : 'fave'; ?>">Fave</a> 
    <?php endforeach;?> 
<?php else : ?> 
    <a href="/favourites/save_feed/<?php echo $j['feed_id']; ?>" class="fave">Fave</a> 
<?php endif; ?> 

但是我问题是,如果有两个帖子被标记为最喜欢的,它将循环两个条目并在一个帖子上显示最喜欢的链接两次,我怎样才能让它循环通过帖子,并添加一个最喜欢的链接,如果该帖子确实是一个喜爱?

+0

不知道是否表现明智,开放和关闭,这往往是良好的做法... – sdolgy

+0

你究竟是如何检查是否一个帖子被收藏? – Dogbert

+0

什么是$ f和$ j? – jimy

回答

0

如果我明白你的问题:

if (isset($favourites)) { 
    foreach ($favourites as $fav) { 
     // i am a favorite 
    } 
} else { 
     // i am not a favorite 
} 

如果你的链接列表已,它看起来像你做$j

foreach ($j as $jj) { 
    if (isset($favorites[$j])) { 
     // i am a favourite 
    } else { 
     // i am not a favourite 
    } 
} 

完成。