ホームページ >バックエンド開発 >PHPチュートリアル >複数条件のクエリ結果ページでのページネーションの問題

複数条件のクエリ結果ページでのページネーションの問題

WBOY
WBOYオリジナル
2016-06-23 13:53:591192ブラウズ

???????クエリ条件 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']); );

echo $_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.=" and 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 {echo " $i ";
}

____________
Req を構築するときに、以前のインターフェイスが利用できない可能性があるため、結局、ページネーションページのリンクの Req に複数の GET 値を指定できないようで、ページ番号をクリックしてジャンプするときに SESSION で保存することができないようです。 reqが最初の1に戻ってしまうのでアドバイスをいただきたいのですが ページングページにジャンプしたときにクエリ条件を保存できるようにするにはどのように書けばよいでしょうか?


ディスカッション(解決策)への返信

セッションで保存していませんか?

セッションで保存してませんか?

保存されましたが、下のページ番号リンクをクリックしてジャンプすると、req の値が 1 に戻ります。

session_start(); がありませんか? さらに、ページをめくると、$_GET から計算されなくなり、セッションから直接取得されます


URL でクエリ条件を渡しました。他に何を保存する必要がありますか?

$_GET['Req'] を使用するだけです


URL を使用してパラメータを直接渡すだけで、クエリ条件とページ番号を渡してから、何を実現したいかを分析する必要があると思います。この関数のロジックは比較的良好です。

各ジャンプの URL を確認した後、問題が見つかりました...

_server[] を使用して前の URL を取得すると、問題は解決しました。指摘してくれた上記の 2 人に感謝します。