我有一个基于PHP的排序方法,带有一个下拉菜单来排序行。有用。我有另一个排序链接来排序ID和标题。它也有效。但是他们在一起工作不起作用。
当我使用链接排序(按标题说)时,结果按标题排序,然后如果我使用我的下拉菜单排序行,则排序行,但结果将设置回默认的id排序。
我的ID和标题的排序代码:
if ($orderby == 'title' && $sortby == 'asc')
{echo " <li id='scurrent'><a href='?rpp=$rowsperpage&order=title&sort=asc'>title-asc:</a></li> ";}
else {echo " <li><a href='?rpp=$rowsperpage&order=title&sort=asc'>title-asc:</a></li> ";}
if ($orderby == 'title' && $sortby == 'desc')
{echo " <li id='scurrent'><a href='?rpp=$rowsperpage&order=title&sort=desc'>title-desc:</a></li> ";}
else {echo " <li><a href='?rpp=$rowsperpage&order=title&sort=desc'>title-desc:</a></li> ";}
if ($orderby == 'id' && $sortby == 'asc')
{echo " <li id='scurrent'><a href='?rpp=$rowsperpage&order=id&sort=asc'>id-asc:</a></li> ";}
else {echo " <li><a href='?rpp=$rowsperpage&order=id&sort=asc'>id-asc:</a></li> ";}
if ($orderby == 'id' && $sortby == 'desc')
{echo " <li id='scurrent'><a href='?rpp=$rowsperpage&order=id&sort=desc'>id-desc:</a></li> ";}
else {echo " <li><a href='?rpp=$rowsperpage&order=id&sort=desc'>id-desc:</a></li> ";}
?>
我对行的排序代码:
<form action="is-test.php" method="get">
<select name="rpp" onchange="this.form.submit()">
<option value="10" <?php if ($rowsperpage == 10) echo 'selected="selected"' ?>>10</option>
<option value="20" <?php if ($rowsperpage == 20) echo 'selected="selected"' ?>>20</option>
<option value="30" <?php if ($rowsperpage == 30) echo 'selected="selected"' ?>>30</option>
</select>
</form>
此方法仅将每页行数(rpp)传递到url。我希望它传递order,sort和rpp。有没有办法在表单字段中传递这些多个值。
答案 0 :(得分:1)
您是否允许用户更改订购?
如果是,请为某种输入类型添加另一个输入。
如果没有,请添加隐藏的输入<input type="hidden" name="sort" value="asc">
或只是让选项操纵URL而不是提交表单。
另一个Stackoverflow解决方案的功能与此类似:https://stackoverflow.com/a/1091005/319066