ホームページ >バックエンド開発 >PHPチュートリアル >複数条件のクエリ結果ページのページネーションに関する問題
複数条件のクエリ結果ページのページネーションに関する問題
——————クエリ条件の構築 REQ
$show_m_dep=trim($_GET['show_m_dep']);
$show_m_pro=trim($_GET ['show_m_pro']);
$show_m_con=trim($_GET['show_m_con']);
$show_m_tim1=trim($_GET['show_m_tim1']);
$show_m_tim2=trim($ _GET['show_m_tim2']);
$show_m_kin=trim($_GET['show_m_kin']);
エコー $_GET[show_m_pro];
$Req="1";
//検索条件 1 を作成します
if($_GET[show_m_dep]=="99"||empty($_GET[show_m_dep]))
{
//空の場合は検索条件
}
else
$Req.= and M_dep = '$_GET[show_m_dep]'";
//検索条件 2 を構築
if(empty($_GET[show_m_pro ]) )
{
//空の場合、検索条件は変更されません
}
else
$Req.=" and M_pro like '%$_GET[show_m_pro]%'";
//条件 3
if(empty($_GET[show_m_con]))
{
//空の場合は検索条件は変わりません
}
else
$Req.=" と M_con like '%$_GET[show_m_con]%'";
//条件 4
$temptime="";
if($_GET[show_m_tim1]!="99" &&(! empty($_GET[show_m_tim1])))
{
$temptime.=$_GET[show_m_tim1];
if($_GET[show_m_tim2]!="99")
{
$temptime.=$_GET[show_m_tim2];
}
$Req.=" および M_tim like '$_GET[temptime]%'";// 年または年と月のみが使用可能です
}
//条件5
if($_GET[show_m_kin]=="99"||empty($_GET[show_m_kin]))
{
//空の場合、検索条件は変更されません
}
else
$Req.= および M_kin like '$_GET[show_m_kin]'";
$_SESSION[Req]=$Req;
____________________Query Print table content
$sql="select count(M_id) from myfile WHERE $Req";
....
————————ページネーション ページ リンク
for($i =1;$ i<=$pageCount;$i )
{echo "$i ";
}
____________
コードはおおよそ上記のとおりです。Req を構築するときに、前のインターフェイスから取得したコンテンツが利用できない可能性があるため、最終的にページネーション ページのリンクでは Req を綴ることはできません。いくつかのGET値を使用してSESSIONで保存すると、ページ番号をクリックしてジャンプするとreqが最初の1に戻ってしまうようです。このときのクエリ条件の書き方を教えていただきたいです。ページ移動時に保存できる?
-----解決策--------------------------------
URL 条件でクエリを渡しましたが、他に何を保存する必要がありますか?
$_GET['Req'] を使用するだけです
-----解決策---------
URLを使って直接パラメータを渡すだけで、クエリ条件とページ番号を渡して、実装したい関数のロジックを解析した方が良いと思います。