【问题标题】:php pagination page without refreshing the page and losing post dataphp分页页面不刷新页面和丢失post数据
【发布时间】:2017-07-04 21:23:24
【问题描述】:

我正在尝试创建分页代码而不使用 jquery、php 和 mysql 刷新页面。我发现要这样做,但我无法检索我的帖子数据,因为它们是从上一页 main.php 页面发送的,而分页代码位于另一个名为 pagination.php 的页面中。我相信如果我将两个页面整合为一个,帖子数据不会丢失,但是当我尝试使它不起作用时。

主页

include('db.php');

$per_page = 1; 
$select_table = "select * from pagination";
$variable = mysql_query($select_table);
$count = mysql_num_rows($variable);
$pages = ceil($count/$per_page)

?>
<html> 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Qjuery pagination with loading effect using PHP and MySql</title>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
function Display_Load()
{
    $("#load").fadeIn(1000,0);
    $("#load").html("<img src='load.gif' />");
}
function Hide_Load()
{
    $("#load").fadeOut('slow');
};
$("#paginate li:first").css({'color' : '#FF0084'}).css({'border' : 'none'});
Display_Load();
$("#content").load("pagination.php?page=1", Hide_Load());
$("#paginate li").click(function(){
    Display_Load();
    $("#paginate li")
    .css({'border' : 'solid #193d81 1px'})
    .css({'color' : '#0063DC'});
    $(this)
    .css({'color' : '#FF0084'})
    .css({'border' : 'none'});
    var pageNum = this.id;
    $("#content").load("pagination.php?page=" + pageNum, Hide_Load());
});});
</script>

</head>
<body>
<div id="content" ></div>

<div class="link" align="center">

        <ul id="paginate">
            <?php
            //Show page links
            for($i=1; $i<=$pages; $i++)
            {
                echo '<li id="'.$i.'">'.$i.'</li>';
            }
            ?>
</ul>   
</div>
  <div style="clear:both"> </div>
<div id="load" align="center" ></div>
</body>
</html>

分页页面

     <?php
include('db.php');

$per_page = 1; 
if($_GET)
{
$page=$_GET['page'];
}
$start = ($page-1)*$per_page;
$select_table = "select * from pagination where date = ' =$date' and number ='$number' $start,$per_page";
$variable = mysql_query($select_table);
?>
<table width="800px">
    <?php
    $i=1;
    while($row = mysql_fetch_array($variable))
    {
        $name=$row['name'];
        $design=$row['designation'];
        $place=$row['place'];
    ?>
    <tr>
    <td style="color:#999;"><?php echo $i++; ?></td>
    <td><?php echo $name; ?></td>
    <td><?php echo $design; ?></td>
    <td><?php echo $place; ?></td></tr>
    <?php
    }
    ?>
</table>

我从 pagination.php 页面的这一行得到一个错误:

$select_table = "select * from pagination where date = ' =$date' and number ='$number' $start,$per_page";

$date 和 $number 变量是未定义的变量

【问题讨论】:

  • 它们是未定义的,所以定义它们
  • 它们已经在主页中定义了,但是当点击分页中的 2 号按钮时,数据将丢失,所以我尝试在 pagination.php 页面中定义它们,但它没有工作

标签: php jquery pagination


【解决方案1】:

我解决了这个问题,解决方案是删除分页page.php文件并在主页中添加一个简单的jquery分页插件,这意味着它不需要再次定义帖子数据。

【讨论】:

    【解决方案2】:

    我强烈建议您从 mysql_* 迁移到 mysqli,因为您很容易受到攻击。

    $select_table = "select * from `pagination` where `date` = '".$date."' and `number` ='".$number."' $start,$per_page";
    

    我至少在那里看到了一个额外的 =,它也没有正确连接。我不确定您要在这里做什么$start,$per_page";。还要确保您使用反引号转义您的字段和表格。

    【讨论】:

    • 他从来没有问过问题。我试图帮助他解决他的错误。
    • "php pagination page without refreshing the page and losing post data"。但我会把它留在那里
    • @EternalHour 我正在使用 mysqli 但此代码仅用于测试
    • 我的问题是丢失了帖子数据,我想知道如何使用 pagination.php 页面检索它
    猜你喜欢
    • 2017-01-04
    • 2019-08-07
    • 2017-03-22
    • 1970-01-01
    • 2017-05-24
    • 2016-01-26
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    相关资源
    最近更新 更多