-1

我正在编写一个看起来像这样的脚本。

$num = 1;
while($num <= 10) {
    echo $num;
    $num++;
}

唯一的问题是只会显示 1-10。我想要一个“更多”按钮来显示下一组 10 个。所以输出将是..

12345678910

更多的

1234567891011121314151617181920

只是真的坚持这个......我将使用它在我的网站上导入 Tumblr 提要,但它需要数字,我不知道如何做这样的事情。

4

2 回答 2

1
  • 存储$num$_SESSION以便它在页面访问中保持不变。

  • 或者,可能更好的是,将其设为 URL 参数,以便用户访问 likeyour_page.php?page=30然后使用$_GET["page"]as $num

于 2013-05-28T21:53:35.660 回答
0

你描述的是分页。

您在第 1 页显示 10 个数字,在第 2 页显示 10 个数字等。

每页以起始编号开始,并保存项目的偏移数。

这通常使用 ?page=X HTTP GET 参数来实现。代码看起来像这样:

$offset = 10;

$page = 1;
if (isset($_GET['page']) && is_numeric($_GET['page'])) {
  $page = $_GET['page'];
}
$start_number = ($page - 1) * $offset;
$end_number   = $start_number + 10;

$num = $start_number;
while ($num <= $end_number) {
  echo $num;
  $num++
  echo sprintf('<a href="/script.php?page=%s">More</a>', $page + 1)
}

编辑:我刚刚意识到您希望加载越来越多的数据(所以不仅仅是 10 个项目,而是 10、20、30 等)。只有当您使用 Javascript 和 Ajax 动态加载新项目时,这样做才合理,但即便如此,您也应该删除旧项目(因此页面不会变得太大)。但是,如果您要重新加载页面,加载它的时间会越来越长,而对用户没有真正的好处。

于 2013-05-28T21:53:59.937 回答