Javascript 如何在没有数据库的情况下创建AJAX分页?
是否可以在没有MySQL帮助的情况下获取用于AJAX分页的页面?我不能只添加一个PHP文件,其中包含我需要显示的文本和标记,然后通过单击页码将该内容提供给用户吗?那么,这可以通过纯jQuery和PHP实现吗?你会用什么样的代码方法来保持简单,我的意思是我有三堵墙的文本需要添加到我的网站上,但是在页面上立即添加它们会让用户感到困惑。所以我决定找到一种方法,根据用户的决定一次只保留其中一个。一个代码示例将是伟大的 编辑: PHP代码应该是这样的吗Javascript 如何在没有数据库的情况下创建AJAX分页?,javascript,php,jquery,ajax,pagination,Javascript,Php,Jquery,Ajax,Pagination,是否可以在没有MySQL帮助的情况下获取用于AJAX分页的页面?我不能只添加一个PHP文件,其中包含我需要显示的文本和标记,然后通过单击页码将该内容提供给用户吗?那么,这可以通过纯jQuery和PHP实现吗?你会用什么样的代码方法来保持简单,我的意思是我有三堵墙的文本需要添加到我的网站上,但是在页面上立即添加它们会让用户感到困惑。所以我决定找到一种方法,根据用户的决定一次只保留其中一个。一个代码示例将是伟大的 编辑: PHP代码应该是这样的吗 <?php htmlspecialch
<?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返回数组或其他您喜欢的方式导出所有数据
现在你必须得到页码,诀窍就在这里
从文本文件中获取的数组应按限制划分
$rows=array\u chunk($array,$\u GET['limit'])
此处显示了page=$n的结果。
$result=$row[$\u 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'
],
];
可能是这样吗
<?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';
?>
HTML+JS:
<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>
jQuery(文档).ready(函数(){
var pager=jQuery('#pager'),/*获取寻呼机列表*/
currentInd=pager.find('.active').attr('href').replace('#','')/*get-active元素*/
text=jQuery(“#text”);/*文本包装器*/
/*通过Ajax获取第一个文本*/
jQuery.ajax({
方法:“POST”,
url:“/index.php”,
数据:{
页码:currentInd
}
}).完成(功能(数据){
文本。文本(数据);
});
});
/**在寻呼机链接上单击*/
jQuery(文档).on('click','#pager a',函数(e){
e、 预防默认值();
var ind=jQuery(this).attr('href').replace('#','')/*获取编号*/
text=jQuery(“#text”);/*文本包装器*/
/*如果此链接未激活,则发送ajax请求*/
if(!jQuery(this).hasClass('active')){
jQuery.ajax({
方法:“POST”,
url:“/index.php”,
数据:{
页码:ind
}
}).完成(功能(数据){
jQuery('#pager').find('.active').removeClass('active');
jQuery(this.addClass('active');
文本。文本(数据);
});
}
});
php:
注意:这是一个非常简单的示例您可以查看此链接:我已编辑了我的问题。应该是这样的?给我几分钟。我给你举了一个完美的例子。是的,这很有效,谢谢!所以现在我应该可以用我需要输出的文本替换这些数组索引了。是的,当然可以。而且还可以根据您的需求进行ajax调用。