本帖最後由 pootor 於 2013-5-19 20:16 編輯 + b1 a: Z6 ~$ g
luguokankan 發表於 2013-5-19 20:00 
- v* q( N1 \. m, f" _你的問題是不是不會搞包含sort參數的 pagination? 加sort參數的分頁可以搞定。+ [2 A$ M, D) O/ _
1 |: t9 A# V0 G# d不能搞定:不加參數,可以實現用下拉列表實現訪客排序,但是排序不能分頁,訪問第二頁排序就失去作用了。能否解決分頁也能排序(不加參數)?下面的代碼可以實現排序,但不能分頁。- <?php' ]* {5 f; f8 }$ V% t% f* {/ W B. e J
- $order = "&order=DESC";! |% \' q$ M* K9 {) [* Q; H& T
- if ($_POST['select'] == 'tag') { $order = "&tag=mytag"; }
3 G8 I1 w! D- [0 _/ w7 }9 m - if ($_POST['select'] == 'title') { $order = "&order=ASC&orderby=title"; }
9 a1 P3 O* v* t1 S$ F+ X9 d; m$ H - if ($_POST['select'] == 'newest') { $order = "&order=DESC"; }$ f3 G; T8 T' p; ?8 {. B
- if ($_POST['select'] == 'oldest') { $order = "&order=ASC"; }
/ C: `2 W+ C2 p! Z) }% _ - if ($_POST['select'] == 'mcommented') { $order = "&order=DESC&orderby=comment_count"; }
$ I) F; r. Q! X7 u% C - if ($_POST['select'] == 'lcommented') { $order = "&order=ASC&orderby=comment_count"; }; { _& I9 e, m0 x0 x
- ?>
9 `( }9 H' V& D/ W' d& j4 }5 U! u9 n G( F
- f+ ~) M" r' j- 3 K$ H) m" v" Y3 a4 b3 C
- <form method="post" id="order">( z* d0 V! q/ x; \) b1 n( z& M b+ C: N
- Sort reviews by:
- ~7 y6 {- T3 h9 p. X - <select name="select" onchange='this.form.submit()'>
& [' A- p5 H; d) h$ R% o - <option value="tag"<?php selected( $_POST['select'],'tag', 1 ); ?>>Tag</option>
+ ]' P6 F( F* X9 B, ~ - <option value="title"<?php selected( $_POST['select'],'title', 1 ); ?>>Title</option>0 g& N- S, T+ a1 W
- <option value="newest"<?php selected( $_POST['select'],'newest', 1 ); ?>>Newest</option>1 ?1 Q3 M1 o; `) q. ?
- <option value="oldest"<?php selected( $_POST['select'], 'oldest', 1 ); ?>>Oldest</option>
/ s. E& g Q O c5 ]7 S$ k - <option value="mcommented"<?php selected( $_POST['select'],'mcommented', 1 ); ?>>Most commented</option>
& ^; s" ~- H6 R8 V- T - <option value="lcommented"<?php selected( $_POST['select'],'lcommented' , 1 ); ?>>least commented</option>0 j/ p) V( X1 L6 h; a
- </select>
) d' z* B( H4 |' p5 X4 q* K - </form>9 H5 h' F- b& }/ ]
- 6 ^" K+ t, [8 _. r7 V N
- <?php query_posts($query_string . $order); ?>
6 S; a9 v; }0 v+ }4 @2 l% ?. o5 i - <?php if ( have_posts() ) : ?>( @; ?% Z, Q' z
- <?php while (have_posts()) : the_post(); ?>
複製代碼 |