首页 > 解决方案 > 在 CodeIgniter 框架中使用 Jquery 添加到收藏夹功能

问题描述

我目前正在一个旅游网站上工作,其中的目的地数量可供用户使用。登录用户可以喜欢将添加到他的收藏夹目的地部分的任何目的地。我已经成功地完成了这项任务。但是在喜欢目的地之后,喜欢按钮会出现多次或等于用户完成的喜欢次数。也许我的逻辑错了这是我的代码。第一个循环获取所有目的地,第二个循环获取收藏夹目的地。注意:-这里我只显示逻辑代码而不是完整的 HTML 或其他 PHP 代码

<?php foreach($listing_data as $list){ ?>
<?php foreach($favorites as $fav){ if($fav['link_id']==$list['id']){?>
      <li class="pull-right"> <a  class="Theme" id="liked"><i class="fas fa-heart"></i> </a> </li>
      <?php } else {?>
      <li class="pull-right"> <a href=""  class="Theme" id="liked"><i class="far fa-heart"></i> </a> </li>
      <?php } } }?>



标签: php

解决方案


只需添加一个辅助变量
并在第二个 foreach 中取出 html。
$喜欢=假;在每个站点
中然后在每个站点中循环 $favorites,然后进入 $favorites 以检查是否喜欢 TheSite;
在第二次 foreach 之后,您应该比较 $like 对于使用类“fas”是 true 还是对于使用类“far”是 false

<?php foreach($listing_data as $list){
  $like = false;
  foreach($favorites as $fav){
    if($fav['link_id']==$list['id']){
      $like = true;
    }
  }
  if($like){ ?>
    <li class="pull-right">
      <a  class="Theme" id="liked"><i class="fas fa-heart"></i></a>           
    </li>
  <?php } else { ?>
    <li class="pull-right">
      <a href=""  class="Theme" id="liked"><i class="far fa-heart"></i> </a> 
    </li>
  <?php 
  }
}
?>


推荐阅读