php - 在 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 } } }?>
解决方案
只需添加一个辅助变量
并在第二个 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
}
}
?>
推荐阅读
- c# - Foreach 循环中的 Async/Await(即循环 ef 模型)生成错误
- reactjs - 使用 withTracker 的客户端加入不等待服务器的回复
- php - 仅返回购物车 Woocommerce 中的商品数量
- ruby - 为什么 reduce([]) 在尝试向其推送值时引发 NoMethodError?
- javascript - VUE:对图像使用全局变量
- linux - 为什么当我尝试远程执行命令时出现错误?
- c# - 对 FileStreamResult 进行单元测试
- postgresql - 即使使用 ON CONFLICT DO NOTHING,postgres INSERT 触发器也会触发
- namespaces - 开发本体时是否有任何工具可以搜索/列出现有概念?
- javascript - 在 Javascript 中,如果 if 语句不返回任何内容,则什么也不做