Php 打印foreach块并使用“更多”按钮显示它们
我需要帮助 我有一个用foreach循环打印的项目列表。。 当我点击“show other”按钮时,我需要一次打印25个项目,为此我使用了LimitIterator 我还需要在不重新加载页面的情况下完成它,为此我使用了AJAX。 我的问题是,我需要计算已经打印了多少项,以便按钮显示其他获取此信息的按钮,并且每次使用此按钮时,它将使用我包含在函数中的foreach循环打印下25项(在前25项下) 我该怎么办?提前谢谢 getForeach.phpPhp 打印foreach块并使用“更多”按钮显示它们,php,jquery,html,ajax,Php,Jquery,Html,Ajax,我需要帮助 我有一个用foreach循环打印的项目列表。。 当我点击“show other”按钮时,我需要一次打印25个项目,为此我使用了LimitIterator 我还需要在不重新加载页面的情况下完成它,为此我使用了AJAX。 我的问题是,我需要计算已经打印了多少项,以便按钮显示其他获取此信息的按钮,并且每次使用此按钮时,它将使用我包含在函数中的foreach循环打印下25项(在前25项下) 我该怎么办?提前谢谢 getForeach.php public static function sp
public static function spawn_list($list_start = 0, $list_limit = 25, $n = 0) {
......
$items = new ArrayIterator($items);
echo '<ul class="my_list">';
foreach (new LimitIterator($items, $list_start, $list_limit) as $item){
$n++;
echo '<li>';
echo '<span class="views">'.$item->viewers.'Viewers</span>';
echo '<span class="name">'.$item->name->display_name.'</span>';
echo '</li>';
}
echo '</ul>';
}
if(isset($_POST['action']) && !empty($_POST['action'])) {
$action = $_POST['action'];
switch($action) {
case 'more_items' : spawn_list();break;
}
}
Mypage
<div id="test"></div>
<a href="javascript:void(0);" id="more_button">SHOW OTHER</a>
EIDT:出于性能原因,我需要这样做。因此欢迎提供任何建议。将返回的项目数存储在隐藏的输入字段中
<input type='hidden' name='item_count' value='' />
在Ajax调用中获取该值并将其传递给脚本,如果数据库查询考虑使用<代码>限制< /代码>
,则可以创建一些逻辑来返回所需的信息。您还需要将success函数更改为使用
。append()
使用。html()
将只替换已设置的html。只需将开始值传递给AJAX调用,并在每次加载新行项时在JavaScript中递增它……谢谢,但我可以将此隐藏输入放在哪里?如果我在foreach函数中插入它来获取变量$n的值,这将不起作用。As将打印许多不同的隐藏输入,ajax将只引用其中的第一个。然后,可以在ajax调用中使用$('input[name=item_count]').val()引用输入字段代码>可以通过这种方式设置和检索值。如果你仍然不确定,我可以写一个小例子。
<input type='hidden' name='item_count' value='' />