如何在没有数据库的情况下创建AJAX分页
How to create AJAX pagination without a database?
是否可以在没有MySQL的帮助下获取AJAX分页页面?难道我不能添加一个PHP文件,其中包含需要显示的文本和标记,然后通过单击页码向用户提供该内容吗?那么,纯jQuery和PHP可以实现这一点吗?你会做什么代码方法来保持事情简单,我的意思是我有3墙的文本,我需要添加到我的网站,但在页面上立即添加它们会混淆用户。所以我决定找到一种方法,根据用户的决定,每次只保留其中一个。一个代码示例将是伟大的!
编辑:PHP代码应该是这样的吗?
<?php
htmlspecialchars($_GET["page_number"]);
if ($page_number == 1)
{
$text = var_export($text1, true);
}
if ($page_numer == 2)
{
$text = var_export($text2, true);
}
if ($page_number == 3)
{
$text = var_export($text3, true);
}
$text1 = 'some looong text...';
$text2 = 'another wall of text';
$text3 = 'and yet another one';
?>
可以。这里必须遵循分页规则。您需要通过url中的页码和记录限制。
www.example.com/index.php?page=1&limit=10
现在创建一个文本或php文件,并使用var_export返回数组或其他您喜欢的方式导出所有数据。
现在你必须得到页码,技巧在这里。
从文本文件中得到的数组应该按limit划分。
$rows = array_chunk($array,$_GET['limit'])
;
page = $n的结果在这里。$result = $row[$_GET['page']]
这是我的index.php文件
<?php
$array = include_once('data.php');
$page = $_GET['page'] ? $_GET['page'] : 0;
$limit = $_GET['limit'];
$rows = array_chunk($array,$limit);
$result = $rows[$page];
?>
<table>
<tr>
<th>Id</th>
<th>Name</th>
<th>Desc</th>
<th>Status</th>
</tr>
<?php
foreach ($result as $res) {
?>
<tr>
<td><?php echo $res['id'] ?></td>
<td><?php echo $res['name'] ?></td>
<td><?php echo $res['desc'] ?></td>
<td><?php echo $res['status'] ?></td>
</tr>
<?php
}
?>
<tr>
<td colspan="2">
<?php
if($page>0)
{
?>
<a href="index.php?limit=<?php echo $limit; ?>&page=<?php echo ($page-1); ?>">Previous</a>
<?php
}
?>
</td>
<td colspan="2">
<?php
if (isset($rows[$page+1]))
{
?>
<a href="index.php?limit=<?php echo $limit; ?>&page=<?php echo ($page+1); ?>">Next</a>
<?php
}
?>
</td>
</tr>
</table>
这里是data.php文件。我已经使用了数组来返回值。
<?php
return
$array = [
[
'id' => 1,
'name' => 'A',
'desc' => 'Test',
'status' => 'Active'
],
[
'id' => 2,
'name' => 'B',
'desc' => 'Test',
'status' => 'Active'
],
[
'id' => 3,
'name' => 'C',
'desc' => 'Test',
'status' => 'Active'
],
[
'id' => 4,
'name' => 'D',
'desc' => 'Test',
'status' => 'Active'
],
[
'id' => 5,
'name' => 'E',
'desc' => 'Test',
'status' => 'Active'
],
[
'id' => 6,
'name' => 'F',
'desc' => 'Test',
'status' => 'Active'
],
];
可能是这样的?
HTML + javascript:<body>
<div id="text">
</div>
<ul id="pager">
<li><a href="#0" class="active">1</a></li>
<li><a href="#1">2</a></li>
<li><a href="#2">3</a></li>
</ul>
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.js"></script>
<script type="text/javascript">
jQuery(document).ready(function () {
var pager = jQuery('#pager'),/* get pager list*/
currentInd = pager.find('.active').attr('href').replace('#', ''), /* get active element*/
text = jQuery('#text'); /* Text wrapper */
/* Get first text by Ajax*/
jQuery.ajax({
method: 'POST',
url: '/index.php',
data: {
page: currentInd
}
}).done(function (data) {
text.text(data);
});
});
/** On pager link click */
jQuery(document).on('click', '#pager a', function (e) {
e.preventDefault();
var ind = jQuery(this).attr('href').replace('#', ''),/* take number */
text=jQuery('#text'); /* text wrapper */
/* if this link is not active then send ajax request */
if (!jQuery(this).hasClass('active')) {
jQuery.ajax({
method: 'POST',
url: '/index.php',
data: {
page: ind
}
}).done(function (data) {
jQuery('#pager').find('.active').removeClass('active');
jQuery(this).addClass('active');
text.text(data);
});
}
});
</script>
</body>
php: <?php
$texts = array(
'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Deserunt aperiam quis eaque ullam reprehenderit eveniet incidunt error nisi a earum voluptatem consequuntur magnam atque. Quis ipsa quo tempora libero consequuntur cumque perferendis quos atque ipsam nisi maiores ad sit iusto sequi voluptates eos neque aut asperiores ut nihil est at enim. Doloribus similique quae blanditiis provident soluta temporibus dolores libero obcaecati rerum distinctio recusandae molestiae perspiciatis dolorum quam magnam ex atque quidem exercitationem totam non sapiente magni amet delectus sequi quos at enim laborum fuga excepturi! Blanditiis illo modi harum voluptates provident hic libero explicabo culpa repellat distinctio molestias tempora obcaecati fuga. Omnis illum aliquam id nihil neque veniam laborum accusamus quidem odit porro nostrum distinctio ipsa atque quisquam natus sit excepturi at eius pariatur voluptates aspernatur nemo ipsam iure iusto ea minus tempora quod voluptate a doloremque mollitia dolorem suscipit blanditiis. Expedita itaque quibusdam magnam quod perspiciatis suscipit? ?',
'Impedit laborum quis accusamus recusandae perferendis a optio neque tempora dolorem cum. Unde nihil nesciunt minima dicta ut sequi est hic voluptatem error totam rerum sit impedit magnam dolores earum quasi architecto dolorum accusamus ad nemo blanditiis fugiat eveniet eligendi quas ipsum aperiam vitae ducimus inventore quidem officia corporis consequatur minus excepturi. Facere a nihil tempore tempora adipisci aperiam itaque delectus sint libero quisquam rerum tenetur eaque repellat pariatur nobis commodi labore et dignissimos impedit similique saepe illo quae cum quasi repellendus iusto recusandae vel eos rem doloremque atque aliquid dolores ab vitae architecto esse quos? Veniam odio aliquam atque iusto vel laudantium tenetur inventore eius ad earum ex minima nulla nesciunt nam aspernatur nihil facilis doloribus neque rerum reiciendis at minus non veritatis cumque molestiae qui natus excepturi! Unde aliquid corrupti optio minus itaque deleniti architecto similique molestiae mollitia nobis. Saepe ullam commodi nisi doloremque tenetur officiis officia asperiores quaerat minima amet consequuntur est totam eligendi. Laudantium voluptate impedit reiciendis fugit?',
'Aut inventore consequuntur fugit adipisci optio amet corporis voluptate tenetur quo et. Sunt repellendus sit voluptate quas sequi cupiditate veniam dignissimos nisi rerum deleniti molestias error veritatis soluta? Similique voluptatibus aperiam vitae ipsa omnis modi unde rerum odio saepe possimus voluptas illum odit vel cupiditate nam totam labore id ratione mollitia accusantium quidem repellat beatae placeat animi dolorum aut minima quos dolor iure sapiente praesentium asperiores cum pariatur sit earum eos sint deserunt commodi nobis tenetur aliquam reiciendis assumenda harum a voluptatum consequuntur. '
);
if (isset($_POST['page']) && isset($texts[$_POST['page']])) {
echo $texts[$_POST['page']];
} else {
echo $texts[0];
}
?>
注意:这是一个非常简单的例子
相关文章:
- 如何在没有插件和Wordpress的情况下创建共享社交媒体
- 如何在不使用iframe或库的情况下创建剪切显示窗口区域
- 是否可以在不创建svg对象的情况下创建捕捉元素?[snap.svg]
- 如何在我的情况下创建加载脚本
- 在不使用object.Create的情况下创建具有null原型的javascript对象
- Mongoosejs:如何在没有Schema的情况下创建模型
- 可以在没有域名的情况下创建cookie吗
- 如何在不加载页面的情况下创建按钮事件
- 在HTML中,可以在没有Ajax和/或Javascript的情况下创建异步请求
- 如何在不冻结的情况下创建永久动画
- 是否可以在没有 Cookie 数据的情况下创建 iframe
- HTML 如何在不更改选项卡的情况下创建密码
- 有没有办法在没有mongodb的情况下创建像_id字符串一样的mongodb
- 是否可以在没有PHP的情况下创建上传文件脚本(并被服务器接受)
- Outlook.com 应用程序 - 如何在预填充 HTML 正文的情况下创建事件
- 如何在不折叠其他列的情况下创建具有全宽内容的引导可折叠面板
- 是否可以在没有app.js的情况下创建一个extjs应用程序的js文件(如构建版本)
- 在没有选择器的情况下创建 jQuery 插件的问题
- 如何在默认情况下创建不带选项的select
- <Chrome应用程序>如何在不从对话框中选择文件/目录的情况下创建FileEntry