-1

行をソートするためのドロップダウンメニューを備えた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 を渡してほしい。これらの複数の値をフォーム フィールドに渡す方法はありますか。

4

1 に答える 1

0

ユーザーが順序を変更することも許可していますか?

その場合は、何らかの入力タイプの別の入力を追加します。

そうでない場合は、非表示の入力を追加する<input type="hidden" name="sort" value="asc">か、単にオプションで URL を操作してフォームを送信しないようにします。別の Stackoverflow ソリューションには、これと非常によく似た機能があります: https://stackoverflow.com/a/1091005/319066

于 2012-06-01T05:44:21.993 に答える