Javascript 如何在没有数据库的情况下创建AJAX分页?

Javascript 如何在没有数据库的情况下创建AJAX分页?,javascript,php,jquery,ajax,pagination,Javascript,Php,Jquery,Ajax,Pagination,是否可以在没有MySQL帮助的情况下获取用于AJAX分页的页面?我不能只添加一个PHP文件,其中包含我需要显示的文本和标记,然后通过单击页码将该内容提供给用户吗?那么,这可以通过纯jQuery和PHP实现吗?你会用什么样的代码方法来保持简单,我的意思是我有三堵墙的文本需要添加到我的网站上,但是在页面上立即添加它们会让用户感到困惑。所以我决定找到一种方法,根据用户的决定一次只保留其中一个。一个代码示例将是伟大的 编辑: PHP代码应该是这样的吗 <?php htmlspecialch

是否可以在没有MySQL帮助的情况下获取用于AJAX分页的页面?我不能只添加一个PHP文件,其中包含我需要显示的文本和标记,然后通过单击页码将该内容提供给用户吗?那么,这可以通过纯jQuery和PHP实现吗?你会用什么样的代码方法来保持简单,我的意思是我有三堵墙的文本需要添加到我的网站上,但是在页面上立即添加它们会让用户感到困惑。所以我决定找到一种方法,根据用户的决定一次只保留其中一个。一个代码示例将是伟大的

编辑: 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返回数组或其他您喜欢的方式导出所有数据

现在你必须得到页码,诀窍就在这里

从文本文件中获取的数组应按限制划分

$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调用。