【问题标题】:PHP HTML Sorting/Pagination/Search without jQuery or JS没有 jQuery 或 JS 的 PHP HTML 排序/分页/搜索
【发布时间】:2015-09-11 21:09:30
【问题描述】:

我在 php 文件中有一个表格,如下所示(我在代码中将其设计为表格,但此处仅显示表格,以便我可以解释当前的问题):

以下代码用于搜索

echo '<form id="stat_form">
          <input form="stat_form" type="text" name="search" placeholder="Enter search term"  onfocus="this.placeholder = \'\'" onblur="this.placeholder = \'Enter search term\'">
          <input form="stat_form" type="submit" value="Search" action="'.$_SERVER['PHP_SELF'].'">
    </form>';

经过一些操作,在排序(用作表头)的代码中添加以下代码,其中$title1和$title2与对应的Button值不同(因此使用了

      echo '<button form="stat_form" name="sort" value="Name" action="'.$_SERVER['PHP_SELF'].'">'.$title1.'</button>
            <button form="stat_form" name="sort" value="Address" action="'.$_SERVER['PHP_SELF'].'">'.$title2.'</button>';

最后在几个函数之后,为分页添加了以下内容。 $prev_page、$curr_page 和 $next_page 在我的代码中计算:

      echo '<button form="stat_form" name="page" value="'.$prev_page.'" action="'.$_SERVER['PHP_SELF'].'"'.($prev_page==$curr_page?" disabled":"").'>Prev</button>
      <button disabled>'.$curr_page.'</button>
      <button form="stat_form" name="page" value="'.$next_page.'" action="'.$_SERVER['PHP_SELF'].'"'.($next_page==$curr_page?" disabled":"").'>Next</button>';

现在我的问题是(假设我已经输入了搜索字符串):

  • 当我单击 Next / Prev 按钮进行分页时,表单不会发送“排序”值
  • 当我单击 $title1 / $title2 进行排序时,“页面”值不会被发送

根据我上面解释的代码,我想始终从表单中发送 3 个不同的值:“搜索”、“排序”和“页面” 我怎样才能确定这一点?

请不要建议使用任何库或外部工具。目前我无法在我的代码中包含任何内容。

另外,由于这是我在论坛上的第一篇文章,我不确定我是否已经把我的问题说清楚了。请让我知道,以便我进一步解释。

提前致谢。

【问题讨论】:

  • 你是在回显这个 HTML 吗?
  • 是的,对“”引号感到抱歉。我现在才意识到
  • 谁对这个问题投了反对票,请告诉我为什么这样做。谢谢

标签: php html sorting pagination


【解决方案1】:

我整天都在寻找解决方案,但无法得到满意的答案。因此在这里使用一个工作。我会把它贴在这里以防它对其他人有帮助:

唯一的修改是在分页中。我已将其从表单中删除并将其用作普通链接。缺点是当我进行排序时,页面值会被重置。因为它不影响我的项目。我倾向于使用这个解决方案。

  echo '<a href="'.$prev_page_url.'"><button class="buttons"'.($prev_page==$curr_page?" disabled":"").'>Prev</button></a>
        <button disabled>'.$curr_page.'</button>
        <a href="'.$next_page_url.'"><button class="buttons"'.($next_page==$curr_page?" disabled":"").'>Next</button></a>';

在上面的代码中, $prev_page_url 和 $nextpage_url 计算为

$_SERVER['PHP_SELF'].http_build_query(<search/sort/page parameters>)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 1970-01-01
    • 2017-08-10
    • 2023-03-20
    相关资源
    最近更新 更多