【问题标题】:How to use next/previous button without redirecting to the php files?如何使用下一个/上一个按钮而不重定向到 php 文件?
【发布时间】:2022-09-19 00:07:33
【问题描述】:

到目前为止,我需要代码方面的帮助,我有这个

https://i.stack.imgur.com/b5yJL.png 这是我的表格,在有人按下搜索按钮之前它不会显示任何行。如果他们这样做了,它会显示这个 https://i.stack.imgur.com/9TpGG.png 数据库中带有页面的行列表,我的问题是当我单击页面时它会像这样显示 https://i.stack.imgur.com/6S4Nl.png 它不会停留在当前页面,而是重定向到 php 文件,我不知道该怎么做,按钮正在工作,它会在每个页面中显示下一个右表

这是我的页面按钮代码

if($page>1)
 {
 echo \"<a href=\'/api2/allrecords.php?page=\".($page-1).\"\' class=\'btn btn-danger\'>Previous</a>\";
 }            
 for($i=1;$i<$total_page;$i++)
 {
 echo \"<a href=\'/api2/allrecords.php?page=\".$i.\"\' class=\'btn btn-primary\'>$i</a>\";
      }
  if($i>$page)
  {
  echo \"<a href=\'/api2/allrecords.php?page=\".($page+1).\"\' class=\'btn btn-danger\'>Next</a>\";
  }

这是 sql

 if(isset($_GET[\'page\']))
    {
        $page = $_GET[\'page\'];
    }
    else
    {
        $page = 1;
    }

    $num_per_page = 20;
    $start_from = ($page-1)*02;


     $connect = mysqli_connect(\"127.0.0.1\", \"crudDBck69t\", \"NTCHilrXdf\", \"crudDBck69t\"); 
      $output = \'\';  
      
           $query = \"  
           SELECT * FROM rvtable limit $start_from,$num_per_page
      \";      
            $pr_query = \"select * from rvtable\";
            $pr_result = mysqli_query($connect,$pr_query);
             $total_record = mysqli_num_rows($pr_result );
             $total_page = ceil($total_record/$num_per_page);
      
      $result = mysqli_query($connect, $query);  

都在同一个php文件中调用 allrecord.php,但我在 wordpress 页面上显示它。,

这就是我在 wordpress 的服装页面模板中调用它的方式

if(from_date == \'\' && to_date == \'\' && search == \'\')   {
                    $.ajax({  
                          url:\"/api2/allrecords.php\",  
                          method:\"POST\",  
                          data:{from_date:from_date, to_date:to_date, search:search},  
                          success:function(data)  
                          {  
                               $(\'#rvoucher\').html(data);  
                          }  
                     });
                    
                }

并且除了页面按钮之外它运行良好,我应该更改它的链接吗?但 $_GET 在 allrecord.php 文件中 任何想法?

谢谢

    标签: php html pagination


    【解决方案1】:

    您遇到的问题是当用户单击作为下一页按钮的链接时,POST 数据没有与您的 GET 请求一起发送。

    一种解决方案可能是不使用 href 重新加载页面的链接,而是使用具有单击事件侦听器的链接,该侦听器将再次运行您的 POST 请求,但仅这次选择了页面。

    另一件事,您不应该真正使用 use 输入并将其直接放入您的 SQL 查询中,因为这会将您的解决方案暴露给 SQL injection

    如何输出应使用搜索数据重新加载表的按钮的示例:

    <script type="text/javascript">
        function gotoPage(page) {
            $.ajax({
                url:"/api2/allrecords.php?page=" + page,
                method:"POST",
                data: {
                    from_date: atob("<?php echo base64_encode($_POST['from_date'] ?? ''); ?>"),
                    to_date: atob("<?php echo base64_encode($_POST['to_date'] ?? ''); ?>"),
                    search: atob("<?php echo base64_encode($_POST['search'] ?? ''); ?>"),
                },
                success: function(data) {
                    $('#rvoucher').html(data);
                }
            });
        }
    </script>
    <?php
    if ($page > 1) {
        echo '<a href="#" onclick="gotoPage(' . $page-1 . ')" class="btn btn-danger">Previous</a>';
    }
    for($i=1; $i < $total_page; $i++) {
        echo '<a href="#" onclick="gotoPage(' . $i . ')" class="btn btn-primary">' . $i . '</a>';
    }
    if($page < $total_page) {
        echo '<a href="#" onclick="gotoPage(' . $page+1 . ')" class="btn btn-danger">Next</a>';
    }
    ?>
    

    【讨论】:

    • 感谢它现在工作,但为什么我的活动 CSS 代码不起作用?即使我删除了 btn 类,颜色仍然相同
    • @Ace您可以在页面中添加包含样式的sn-p吗?也是包含表格样式的/api2/allrecords.php 文件吗?
    猜你喜欢
    • 1970-01-01
    • 2018-04-26
    • 2018-03-20
    • 2013-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-15
    相关资源
    最近更新 更多