本帖最後由 pootor 於 2013-5-19 20:16 編輯
& p6 ?: [& w( \- S3 ]5 wluguokankan 發表於 2013-5-19 20:00 
* J. ^6 F% D: v! W) {' N5 T& k8 b% S2 g你的問題是不是不會搞包含sort參數的 pagination? 加sort參數的分頁可以搞定。
2 N( w! e3 h1 ]- }9 |9 W( ~) f7 d* @* n. ]% C2 T# \# G
不能搞定:不加參數,可以實現用下拉列表實現訪客排序,但是排序不能分頁,訪問第二頁排序就失去作用了。能否解決分頁也能排序(不加參數)?下面的代碼可以實現排序,但不能分頁。- <?php. y+ B) ~4 k: b
- $order = "&order=DESC";' U9 c! N% R8 _" i) i
- if ($_POST['select'] == 'tag') { $order = "&tag=mytag"; }% s. K, l6 S) P$ Q m$ f1 h
- if ($_POST['select'] == 'title') { $order = "&order=ASC&orderby=title"; }- s! t2 h5 @5 p" _1 l
- if ($_POST['select'] == 'newest') { $order = "&order=DESC"; }* k2 ?1 v, Y4 _0 r7 _( o
- if ($_POST['select'] == 'oldest') { $order = "&order=ASC"; }
0 ?/ I+ Z/ y4 B, f - if ($_POST['select'] == 'mcommented') { $order = "&order=DESC&orderby=comment_count"; }
: B g" {) e Q; Y: A4 X7 ] - if ($_POST['select'] == 'lcommented') { $order = "&order=ASC&orderby=comment_count"; }# z% r/ U# j( }7 V
- ?>/ v: P$ F9 h& s4 z# J3 P' I
$ t: Z& K2 S# h& G; @# a4 U
' q5 j+ {6 S) Z- <form method="post" id="order">/ Z9 F' w# |8 G( H
- Sort reviews by:; \% V* C2 t" s" e
- <select name="select" onchange='this.form.submit()'>; l; m9 o0 x( a: e" `
- <option value="tag"<?php selected( $_POST['select'],'tag', 1 ); ?>>Tag</option>$ b! Y6 x- A2 n: i' o0 n
- <option value="title"<?php selected( $_POST['select'],'title', 1 ); ?>>Title</option>
( A! }3 _% ?( z: Q' e" m, u - <option value="newest"<?php selected( $_POST['select'],'newest', 1 ); ?>>Newest</option>( k8 k% O. `8 E& a& H
- <option value="oldest"<?php selected( $_POST['select'], 'oldest', 1 ); ?>>Oldest</option>
9 h1 ^- E% U' L- G; t- l7 x: l" S& B! m( s - <option value="mcommented"<?php selected( $_POST['select'],'mcommented', 1 ); ?>>Most commented</option>! W! p6 V, {0 e! u" C9 q9 Z0 u
- <option value="lcommented"<?php selected( $_POST['select'],'lcommented' , 1 ); ?>>least commented</option>
3 h7 Z \5 D% E- K' z - </select>
& R; a( q2 z7 _4 A, f L - </form>
: @! R' n# H# _/ j7 G2 @ - * S- v. a1 p8 j4 e. Z+ d4 }
- <?php query_posts($query_string . $order); ?>4 M) T+ [: h; M5 Q0 N* C1 w
- <?php if ( have_posts() ) : ?>$ J: Z7 _0 ?! f; E! H+ A1 N
- <?php while (have_posts()) : the_post(); ?>
複製代碼 |