ホームページ >バックエンド開発 >PHPチュートリアル >thinkphp でのページング中にクエリ条件を変更しない問題
マニュアルでは:
import('ORG.Util.Page');// 导入分页类$mapcount = $User->where($map)->count();// 查询满足要求的总记录数$Page = new Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数//分页跳转的时候保证查询条件foreach($map as $key=>$val) { $Page->parameter .= "$key=".urlencode($val).'&';}$show = $Page->show();// 分页显示输出
urlencode だけでは不十分です。最初に json 化するかシリアル化する必要があります
foreach($map as $key=>$val) { $Page->parameter .= "$key=".urlencode(json_encode($val)).'&';}
$array はどこから来たのですか? $_GET $_POST または $_REQUEST
ここでの $array は、データベース内のテーブルをクエリしてフィールド値の配列を取得するための条件として $_POST のパラメーターを使用することです。
私もこの問題に遭遇し、解決策を見つけました
import('ORG.Util.Page');// ページング クラスをインポートします
$count=$res->where($sear)-> count(); //データ項目数をクエリする
$Page=new Page($count,2);//ページング関数をインスタンス化する
//ページングジャンプ時のクエリ条件を確認する
foreach($sear as $key=> ;$val ) {
if(!is_array($val)) {
$Page->parameter .= "$key=".urlencode($val)."&";//ページに値を代入
}
}
$ show=$Page->show(); // ページングで出力を表示します
それを実現するためにここに判定を追加します
配列の内容は次のとおりです:
$map['code'] = array('in ',$ array);
しかし、クエリ条件は次のとおりです:
"$key=".urlencode($val).'&'
もちろんこれは機能しません
上記はまだ機能しません
foreach($ $key =>$val) {
$Page->parameter .= "$key=".urlencode($val).'&';
echo "$key=".urlencode($val). "&"; //出力を見てください
}
解決策を探しています
//ページにジャンプするときのクエリ条件を確認してください
foreach($map as $key=>$val) {
$Page- >parameter .= "$key=".urlencode($val).'&';
}
"$key=".urlencode($val).'&';ここでの $val はあなたのものを指します条件
あなたの条件は $map['code'] = array('in',$array); です。 次に、それを
foreach($map as $key=>$val) {
$Page->parameter に変更します。 = "$key=".urlencode($code).'&';
}
(print_r( $map ))
データの保存方法を知っているなら、その方法も知りませんか?
public function search() {
$res=D('Info');
$sear['name'] = array('like', '%'.$name.'%');
import('ORG.Util.Page');//ページング クラスをインポートします
$count=$res->where($sear)->count(); //データ件数を問い合わせる
$Page=new Page($count,2);//ページング関数をインスタンス化する
//ページングにジャンプする際の問い合わせ条件を確認する
foreach($name as $key=>$ val) {
$Page->parameter .= "$key=".urlencode($val)."&";//ページに値を代入
}
$show=$Page->show();/ /Page 表示 出力
これは私が使用したクエリ ページング コードです。見てください。先ほど投稿したものは見つかりますが、ルールに準拠していません
これは http://blog.sina をまとめたドキュメントです。 .com.cn/s /blog_80742e010101acfq.html をご覧ください
皆さんありがとうございます。それでもまだ機能しません。
$url = $_SERVER['REQUEST_URI'].(strpos($_SERVER['REQUEST_URI'],'?')?'':"?").$this->parameter; $parse = parse_url($url); if(isset($parse['query'])) { parse_str($parse['query'],$params); unset($params[$p]); $url = $parse['path'].'?'.http_build_query($params); }