我想用 for-each 展示帖子。我的条件是第一次显示 5 个帖子并使用 show more
按钮隐藏其他帖子,如果循环有超过 5 个帖子,然后当我单击显示更多时将显示其他帖子并隐藏 show more
按钮并显示 less more
按钮。如果帖子少于 5,则不会显示 show more
按钮。我怎样才能通过 jQuery 做到这一点?
<?php
foreach ($hotel_data as $key => $hoteldata)
{
//Show 3 lowest price of hotel link
if(isset($hoteldata[0]->rooms)){
/*$ii = 0;*/
foreach ($hoteldata[0]->rooms as $key => $bookinginfo) {
?>
<tr>
<td class="">
<div class="hotel_name">
<?php echo $bookinginfo->desc; ?>
</div>
</td>
<td class="booking-img">
<img src="http://pics.avs.io/hl_gates/100/30/<?php echo $bookinginfo->agencyId; ?>.png"/>
</td>
<td>
<div class="hotel-price">
Price : $ <?php echo $bookinginfo->price; ?>
</div>
</td>
<td class="booking-url">
<a href="<?php echo $bookinginfo->fullBookingURL; ?>" class="btn btn-info" role="button" data-toggle="tooltip" data-placement="top" title="<?php echo $bookinginfo->agencyName; ?>"> BOOK NOW</a>
</td>
</tr>
<?php
/*$ii++;
if($ii > 2){
break;
}*/
}
}
}
?>
最佳答案
您需要重新考虑您的策略。使用 AJAX 调用可以最好地实现您想要的。因此,您需要使用 JS/jQuery 编写循环。 PHP 只会处理帖子的检索。
例如,您可以创建一个 AJAX 调用,将 POST 请求发送到 PHP 脚本,发送您想要的帖子数。当 PHP 收到请求时,它从数据库中获取所需的帖子并将结果以 JSON 格式返回,然后 JS 将结果解析为您的 HTML。
AJAX 调用可以在页面加载时调用一次(首先加载 5 个),然后可以在单击“加载更多”按钮时再次调用。
关于javascript - 在 php foreach 中设置 jQuery less/more 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46973707/