こんにちは、私は正常に動作するPHP ベースのページネーションとソート方法を持っています。
任意のカテゴリに従って並べ替えとページ付けを行うことができますが、ページごとの行に関しては問題があります。
私はGETメソッドを使用して、ページネーションとソートのための情報を取得しました
if (isset($_GET['rpp'])&& is_numeric($_GET['rpp'])) {
$rowsperpage = mysql_real_escape_string($_GET['rpp']);
}else{
$rowsperpage='5';
}
if (isset($_GET['page']) && is_numeric($_GET['page'])) {
$currentpage = (int) mysql_real_escape_string($_GET['page']);
} else {
$currentpage = 1;
}
if (isset($_GET['order']) && in_array($_GET['order'], $order)) {
$orderby = mysql_real_escape_string($_GET['order']);
}else{
$orderby='id';
}
$sortby = '';
if (isset($_GET['sort'])) {
$sortby = mysql_real_escape_string($_GET['sort']);
}else{
$sortby='desc';
}
ページネーションのために、次のタイプのURL文字列を使用しました
echo " <li><a href='$pagename?order=$orderby&sort=$sortby&rpp=$rowsperpage&page=$nextpage'>Next»»</a>
私のmysqlクエリは
$sql2 = "SELECT * FROM internet_security ORDER BY $orderby $sortby LIMIT $rowsperpage OFFSET $offset";
そしてhtmlでは、リンクを使用して次のようなカテゴリを並べ替えました
<a href="?order=id&sort=desc">id-desc:</a>
<a href="?order=id&sort=asc">id-asc:</a>
<a href="?order=title&sort=desc">title-desc:</a>
<a href="?order=title&sort=asc">title-asc:</a>
**limit rows by**
<a href="?&rpp=5">5</a>
<a href="?&rpp=10">10</a>
<a href="?&rpp=20">20</a>
私の質問は 、制限行を介してページごとの行を制限する場合を除いて、すべてが正常に機能していることです-行は選択された制限(5,10,20)に制限されますが、ページネーションをクリックすると、すべてがデフォルトの設定値になります。 ID 順、DESC 順、LIMIT は 5 です。
もし私がそれを好きなら
<a href="?order=id&sort=desc&rpp=5">id-desc:</a>
<a href="?order=id&sort=desc&rpp=10">id-desc:</a>
<a href="?order=id&sort=desc&rpp=20">id-desc:</a>
それは機能しますが、完全な機能を得るには少なくとも12個のリンクが必要です。これは標準的なアプローチではありません。
私が望むのは、デフォルトまたはソートオプションによって制限が設定されると、IDタイトルなどでソートできるようになり、ページナチンはそれと一緒に機能するはずです。
私はそれを明確にしたことを願っています。私が間違っていることを見て、私のアプローチに対する可能な解決策を提案してください。