我在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值不同(因此使用&lt;按钮&gt;而不是&lt; input&gt;):
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>';
现在我的问题是(假设我已经输入了搜索字符串):
根据我上面解释的代码,我想始终从表单中发送3个不同的值:“搜索”,“排序”和“页面” 我怎样才能建立这个?
请不要建议使用任何库或外部工具。目前我无法将任何内容包含在我的代码中。
此外,由于这是我在论坛中的第一篇文章,我不确定我是否已将问题清楚。请让我知道,以便我可以进一步解释。
提前致谢。
答案 0 :(得分:0)
我一直在寻找解决方案一整天,但无法得到满意的答案。因此在这里使用一个工作。我会在这里发布,以防其他人:
唯一的修改是在分页中。我已将其从表单中删除并将其用作普通链接。缺点是当我进行排序时,页面值被重置。因为它不会影响我的项目。我倾向于使用这个解决方案。
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>)