ホームページ  >  記事  >  バックエンド開発  >  高度な検索オプションが多すぎる場合、Yii の CGridView でページング後に PHP がクラッシュする問題を解決する_PHP チュートリアル

高度な検索オプションが多すぎる場合、Yii の CGridView でページング後に PHP がクラッシュする問題を解決する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-14 10:09:43812ブラウズ

リバース リダイレクト PHP がクラッシュする理由は、実際には、ページング URL に追加する必要のない空のオプションが多すぎるためです。

views/layouts/main.php ファイルの最後に次のコードを追加して、CGridView ページング リンクのアドレスを修正できます。
[html]
Yii::app()->clientScript->registerScript('pagerHref', "
$(関数(){
$('.pager a').each(function(){
var href = $(this).attr('href');
var page = href.match(//([w]+)_page/([0-9]+)/);
if (ページ != null) {
P ページ = ページ [1]+'_ ページ ='+ページ [2];
} } else {
ページ = '';
}
var sort = href.match(//([w]+)_sort/([w]+)/);
if (sort != null) {
ソート = ソート[1]+'_sort='+ソート[2];
} } else {
並べ替え = '';
}
var フィールド = $('.search-form form').serializeArray();
var データ = '';
$.each(フィールド, 関数(i, フィールド){
if (field.value != '') {
if (データ == '') {
データ += フィールド名 + '=' + フィールド値;
} else {
data += '&' + field.name + '=' + field.value;
}
}
});
if (データ != '' && ページ != '') {
ページ = '&' + ページ;
}
if ((data != '' || page != '') && sort != '') {
並べ替え = '&' + 並べ替え
}
var url = '".$this->createUrl($this->id.'/'.$this->action->id)."?' + encodeURI(data) + page + sort;
$(this).attr('href', url);
});
});
");
?>
http://www.bkjia.com/PHPjc/477635.html
www.bkjia.com
本当
http://www.bkjia.com/PHPjc/477635.html
技術記事
リバース リダイレクト PHP がクラッシュする理由は、実際には、ページング URL に追加する必要のない空のオプションが多すぎるためです。 CGridVie を修正するには、views/layouts/main.php ファイルの最後に次のコードを追加します...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。