我正在尝试使用Zend_Paginate()
基于 GET 搜索字符串加载的查询调用页面,该查询基本上执行以下操作:
SELECT * FROM table WHERE column LIKE '%searchstring%' OR alt_column LIKE '%searchstring%';
当通过搜索/提交文本表单调用时,查询工作正常,并且 URL 返回类似于
URLINK.php?search=searchstring
然而,当试图进入下一页时,程序将我转储回分页备用 URL(用于错误或无页面显示)——希望最后一行有意义,但已经晚了,我尽我所能以透明的方式输入.
URL.php?search=searchstring
对“?”使用分页时最好的方法是什么?
更多关于对 url 的调用
//search query
$search = searchQuery('search', 'list_sql_rows.php');
$results - searchTable($dbRead, $search);
按以下顺序使用上述变量的搜索方法
if(isset($_POST['submit_search'])) { $searchstring = $_POST['searchstring'];
if($searchstring) { header('Location: results.php?search=' . $searchstring); } }
这一点效果很好,但是当我尝试使用分页器调用时,系统会将我恢复到上面提到results.php?page=2
的后备 URL 。list_sql_rows.php
任何想法/意见表示赞赏。
只是为了澄清 search.php 页面中的搜索字段/表单通过&&作为故障安全发送$searchstring
到 results.php 页面。get 方法在 URL 标头中发送 ,因此搜索结果确实可以在第一页results.php?search=$searchstring上工作。这工作得很好。分页似乎丢失了,我想知道这是否是由于/当分页器开始“分页”时丢失了它返回 URL results.php?page=2所以它似乎不是选择的方法?$_POST
$_GET
$searchstring
$searchstring
$_POST
$_GET
$_GET
更新 在写轨道上,现在分页工作是我的链接结构被破坏了。 _results_samples.php?search=robert&page=4_实际上会使用 ROBERT 这个词返回分页结果的第 4 页
解决方案通过 ROCKYFORD
的变体建议 推荐方法的变体,首先持续$searchstring
更改分页链接,如下所示
<a href='" . $_SERVER['PHP_SELF'] . "?search=" . $searchstring . "&page={$page}'>$page</a>