【问题标题】:How to limit row number in pagination with select option如何使用选择选项限制分页中的行数
【发布时间】:2015-06-03 17:47:30
【问题描述】:

我有一个页面已经分页了。但现在我想实现新功能: 当我们在选择框中选择行数时。该网页将显示匹配的数据。我用ajax试过了。已发送限制变量,但控制器无法对其进行处理。谁能帮帮我!

here is sample image

html代码:

<form method="post">
<select name="select_limit" id="select_limit">
     <option value="10">10</option>
     <option value="100">100</option>
</select>
</form>

ajax 代码:

$(document).ready(function() {
    $('#select_limit').change(function() {
        var limit = $("#select_limit option:selected").val();
        $.ajax({
            type: "POST",
            cache:false,
            url:"<?php //link to controller ?>",
            //send data
            data:{'limit': limit},
            });
    });
});

在控制器中,我得到一个与正常代码相同的限制变量:

$limit = $_POST['select_limit'];

【问题讨论】:

  • 在此处显示您的 PHP 和 jQuery 代码
  • @DeepKakkar 你能帮帮我吗?
  • 你需要在你的sql查询中使用这个限制。
  • @anantkumarsingh 我知道,但我无法在 sql 查询中获得 $limit 来限制它。使用静态 $limit 进行分页是可以的。但现在是动态$limit

标签: php jquery ajax pagination


【解决方案1】:

您正在发送 data:{'limit': limit}, 并尝试获取 $_POST['select_limit'];,因此您正在尝试获取未发送的 POST 值。试试$_POST['limit'];

【讨论】:

  • 我刚刚使用$_POST['limit']; 将您的代码复制粘贴到我的网络服务器上,它工作正常。您是否从 JavaScript 控制台或您的 php 脚本收到任何错误消息?
  • 脚本没有错误信息,只是无法在控制器中获取$limit。
【解决方案2】:

也许你不需要使用ajax,你可以试试:

$(document).ready(function() {
    $('#select_limit').change(function() {
        $(this).closest('form').submit();
    });
});

// use get method, and form action should be same url like pagination link 
<form method="get">
  <select name="select_limit" id="select_limit">
     <option value="10" <?php echo $limit == 10 ? 'selected' : ''?>>10</option>
     <option value="100" <?php echo $limit == 100 ? 'selected' : ''?>>100</option>
  </select>
</form>

这个 sloution 将刷新页面。

编辑

================================================ ====================

并将&amp;limit=&lt;?php echo $limit?&gt; 添加到链接中,例如:

 <li class="<?php  if($crr_page=$i) echo 'active' ?>">
      <a href="<?php echo $this->url->get('dashboard/list-user') ?>?page=<?php echo $i ; ?>&txt_keyword=<?php echo $keyword; ?>&limit=<?php echo $limit?>"><?php  echo $i  ?></a>
 </li>

【讨论】:

  • 这只会在表单链接到的 php 脚本在他的脚本执行任何操作后将他重定向到页面时刷新页面。通常你只会去action中定义的url。
  • @Alex 这是一个很好的理想。它正在工作。但只有第 1 页。当我切换到另一页时。它在一页中返回 10 行。你有解决这个问题的办法吗?
  • 感谢@AlexLooksSoSad,但它与我当前的代码相同,而你现在,在另一页,1 页中的 10 行 :(。我认为这个问题是服务器无法保留 $当我们改变页面时限制
  • 是的,这是我的分页代码:notepad.cc/share/s3gexOG3ol $this->url->get('dashboard/list-user') 链接到我的控制器
  • @yanndinh 查看我的最新答案
猜你喜欢
  • 1970-01-01
  • 2011-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-23
  • 2022-08-02
相关资源
最近更新 更多