- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我从一个链接中获得了一些在线代码,其中数组上的分页是通过大量记录完成的。示例.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<title>PHP Array Pagination</title>
<style>
<!--
body {
font-family: Tahoma, Verdana, Arial, Sans-serif;
font-size: 11px;
}
hr {
border: 1px #ccc;
border-style: none none solid none;
margin: 20px 0;
}
a {
color: #333;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
a.selected {
font-weight: bold;
text-decoration: underline;
}
.numbers {
line-height: 20px;
word-spacing: 4px;
}
//-->
</style>
</head>
<body>
<h1>PHP Array Pagination</h1>
<hr />
<?php
ini_set('display_errors','On');
error_reporting(E_ALL);
// Include the pagination class
include 'pagination.class.php';
// some example data
foreach (range(1, 200) as $value) {
$products[] = array(
'Product' => 'Product '.$value,
'Price' => rand(100, 1000),
);
}
// If we have an array with items
if (count($products)) {
// Create the pagination object
$pagination = new pagination($products, (isset($_GET['page']) ? $_GET['page'] : 1), 15);
// Decide if the first and last links should show
$pagination->setShowFirstAndLast(false);
// You can overwrite the default seperator
$pagination->setMainSeperator(' | ');
// Parse through the pagination class
$productPages = $pagination->getResults();
// If we have items
if (count($productPages) != 0) {
// Create the page numbers
echo $pageNumbers = '<div class="numbers">'.$pagination->getLinks($_GET).'</div>';
// Loop through all the items in the array
foreach ($productPages as $productArray) {
// Show the information about the item
echo '<p><b>'.$productArray['Product'].'</b> £'.$productArray['Price'].'</p>';
}
// print out the page numbers beneath the results
echo $pageNumbers;
}
}
?>
<hr />
<p><a href="http://www.lotsofcode.com/php/projects/php-array-pagination" target="_blank">PHP Array Pagination</a> provided by <a href="http://www.lotsofcode.com/" target="_blank">Lots of Code</a></p>
</body>
</html>
分页.class.php
<?php
/************************************************************\
*
* PHP Array Pagination Copyright 2007 - Derek Harvey
* www.lotsofcode.com
*
* This file is part of PHP Array Pagination .
*
* PHP Array Pagination is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* PHP Array Pagination is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with PHP Array Pagination ; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
\************************************************************/
class pagination
{
/**
* Properties array
* @var array
* @access private
*/
private $_properties = array();
/**
* Default configurations
* @var array
* @access public
*/
public $_defaults = array(
'page' => 1,
'perPage' => 10
);
/**
* Constructor
*
* @param array $array Array of results to be paginated
* @param int $curPage The current page integer that should used
* @param int $perPage The amount of items that should be show per page
* @return void
* @access public
*/
public function __construct($array, $curPage = null, $perPage = null)
{
$this->array = $array;
$this->curPage = ($curPage == null ? $this->defaults['page'] : $curPage);
$this->perPage = ($perPage == null ? $this->defaults['perPage'] : $perPage);
}
/**
* Global setter
*
* Utilises the properties array
*
* @param string $name The name of the property to set
* @param string $value The value that the property is assigned
* @return void
* @access public
*/
public function __set($name, $value)
{
$this->_properties[$name] = $value;
}
/**
* Global getter
*
* Takes a param from the properties array if it exists
*
* @param string $name The name of the property to get
* @return mixed Either the property from the internal
* properties array or false if isn't set
* @access public
*/
public function __get($name)
{
if (array_key_exists($name, $this->_properties)) {
return $this->_properties[$name];
}
return false;
}
/**
* Set the show first and last configuration
*
* This will enable the "<< first" and "last >>" style
* links
*
* @param boolean $showFirstAndLast True to show, false to hide.
* @return void
* @access public
*/
public function setShowFirstAndLast($showFirstAndLast)
{
$this->_showFirstAndLast = $showFirstAndLast;
}
/**
* Set the main seperator character
*
* By default this will implode an empty string
*
* @param string $mainSeperator The seperator between the page numbers
* @return void
* @access public
*/
public function setMainSeperator($mainSeperator)
{
$this->mainSeperator = $mainSeperator;
}
/**
* Get the result portion from the provided array
*
* @return array Reduced array with correct calculated offset
* @access public
*/
public function getResults()
{
// Assign the page variable
if (empty($this->curPage) !== false) {
$this->page = $this->curPage; // using the get method
} else {
$this->page = 1; // if we don't have a page number then assume we are on the first page
}
// Take the length of the array
$this->length = count($this->array);
// Get the number of pages
$this->pages = ceil($this->length / $this->perPage);
// Calculate the starting point
$this->start = ceil(($this->page - 1) * $this->perPage);
// return the portion of results
return array_slice($this->array, $this->start, $this->perPage);
}
/**
* Get the html links for the generated page offset
*
* @param array $params A list of parameters (probably get/post) to
* pass around with each request
* @return mixed Return description (if any) ...
* @access public
*/
public function getLinks($params = array())
{
// Initiate the links array
$plinks = array();
$links = array();
$slinks = array();
// Concatenate the get variables to add to the page numbering string
$queryUrl = '';
if (!empty($params) === true) {
unset($params['page']);
$queryUrl = '&'.http_build_query($params);
}
// If we have more then one pages
if (($this->pages) > 1) {
// Assign the 'previous page' link into the array if we are not on the first page
if ($this->page != 1) {
if ($this->_showFirstAndLast) {
$plinks[] = ' <a href="?page=1'.$queryUrl.'">«« First </a> ';
}
$plinks[] = ' <a href="?page='.($this->page - 1).$queryUrl.'">« Prev</a> ';
}
// Assign all the page numbers & links to the array
for ($j = 1; $j < ($this->pages + 1); $j++) {
if ($this->page == $j) {
$links[] = ' <a class="selected">'.$j.'</a> '; // If we are on the same page as the current item
} else {
$links[] = ' <a href="?page='.$j.$queryUrl.'">'.$j.'</a> '; // add the link to the array
}
}
// Assign the 'next page' if we are not on the last page
if ($this->page < $this->pages) {
$slinks[] = ' <a href="?page='.($this->page + 1).$queryUrl.'"> Next » </a> ';
if ($this->_showFirstAndLast) {
$slinks[] = ' <a href="?page='.($this->pages).$queryUrl.'"> Last »» </a> ';
}
}
// Push the array into a string using any some glue
return implode(' ', $plinks).implode($this->mainSeperator, $links).implode(' ', $slinks);
}
return;
}
}
example.php 文件中的数组中有很多记录,即从 1-200。example.php 中包含一个文件,即 pagination.class.php,其中提供了分页逻辑。我需要在滚动到窗口底部时完成分页。就像当您向下滚动到底部时一样,下一页记录应该通过 ajax 调用显示。
就像在这段代码中一样。将给出页数链接。单击它们时,将显示下一页记录。当我们使用ajax滚动到底部时,我需要类似的东西。
请指导我如何执行此操作...
最佳答案
每次您处于底部位置时,您都可以进行 ajax 调用来加载更多数据,例如
if (($(window).innerHeight() + $(window).scrollTop()) >= $("body").height()) {
//make ajax calls to load you data
}
关于javascript - PHP中使用ajax滚动到窗口底部的分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22931983/
我在 JavaScript 文件中运行 PHP,例如...... var = '';). 我需要使用 JavaScript 来扫描字符串中的 PHP 定界符(打开和关闭 PHP 的 )。 我已经知道使
我希望能够做这样的事情: php --determine-oldest-supported-php-version test.php 并得到这个输出: 7.2 也就是说,php 二进制检查 test.
我正在开发一个目前不使用任何框架的大型 php 站点。我的大问题是,随着时间的推移慢慢尝试将框架融入应用程序是否可取,例如在创建的新部件和更新的旧部件中? 比如所有的页面都是直接通过url服务的,有几
下面是我的源代码,我想在同一页面顶部的另一个 php 脚本中使用位于底部 php 脚本的变量 $r1。我需要一个简单的解决方案来解决这个问题。我想在代码中存在的更新查询中使用该变量。 $name)
我正在制作一个网站,根据不同的情况进行大量 PHP 重定向。就像这样...... header("Location: somesite.com/redirectedpage.php"); 为了安全起见
我有一个旧网站,我的 php 标签从 因为短标签已经显示出安全问题,并且在未来的版本中将不被支持。 关于php - 如何避免在 php 文件中写入
我有一个用 PHP 编写的配置文件,如下所示, 所以我想用PHP开发一个接口(interface),它可以编辑文件值,如$WEBPATH , $ACCOUNTPATH和 const值(value)观
我试图制作一个登录页面来学习基本的PHP,首先我希望我的独立PHP文件存储HTML文件的输入(带有表单),但是当我按下按钮时(触发POST到PHP脚本) )我一直收到令人不愉快的错误。 我已经搜索了S
我正在寻找一种让 PHP 以一种形式打印任意数组的方法,我可以将该数组作为赋值包含在我的(测试)代码中。 print_r 产生例如: Array ( [0] => qsr-part:1285 [1]
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: What is the max key size for an array in PHP? 正如标题所说,我想知道
我正在寻找一种让 PHP 以一种形式打印任意数组的方法,我可以将该数组作为赋值包含在我的(测试)代码中。 print_r 产生例如: Array ( [0] => qsr-part:1285 [1]
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 9 年前。 Improve this ques
我在 MySQL 数据库中有一个表,其中存储餐厅在每个工作日和时段提供的菜单。 表结构如下: i_type i_name i_cost i_day i_start i_
我有两页。 test1.php 和 test2.php。 我想做的就是在 test1.php 上点击提交,并将 test2.php 显示在 div 中。这实际上工作正常,但我需要向 test2.php
我得到了这个代码。我想通过textarea更新mysql。我在textarea中回显我的MySQL,但我不知道如何更新它,我应该把所有东西都放进去吗,因为_GET模式没有给我任何东西,我也尝试_GET
首先,我是 php 的新手,所以我仍在努力学习。我在 Wordpress 上创建了一个表单,我想将值插入一个表(data_test 表,我已经管理了),然后从 data_test 表中获取所有列(id
我有以下函数可以清理用户或网址的输入: function SanitizeString($var) { $var=stripslashes($var); $va
我有一个 html 页面,它使用 php 文件查询数据库,然后让用户登录,否则拒绝访问。我遇到的问题是它只是重定向到 php 文件的 url,并且从不对发生的事情提供反馈。这是我第一次使用 html、
我有一个页面充满了指向 pdf 的链接,我想跟踪哪些链接被单击。我以为我可以做如下的事情,但遇到了问题: query($sql); if($result){
我正在使用 从外部文本文件加载 HTML/PHP 代码 $f = fopen($filename, "r"); while ($line = fgets($f, 4096)) { print $l
我是一名优秀的程序员,十分优秀!