本帖最後由 pootor 於 2013-5-19 20:16 編輯 m- x$ ]* v2 R, S$ r
luguokankan 發表於 2013-5-19 20:00 6 t1 H7 T. l O" `7 Z$ y9 L
你的問題是不是不會搞包含sort參數的 pagination? 加sort參數的分頁可以搞定。
( L/ s) c2 \9 i5 ]! S+ ~ P/ G2 ]. E3 X* s4 @
不能搞定:不加參數,可以實現用下拉列表實現訪客排序,但是排序不能分頁,訪問第二頁排序就失去作用了。能否解決分頁也能排序(不加參數)?下面的代碼可以實現排序,但不能分頁。- <?php
z6 I+ a4 O1 j F6 o7 [2 A& L - $order = "&order=DESC";
0 c) f( X; G& V. Q7 C* W - if ($_POST['select'] == 'tag') { $order = "&tag=mytag"; }7 n' t0 j' B/ r, E% a) F
- if ($_POST['select'] == 'title') { $order = "&order=ASC&orderby=title"; }
, M% P8 g* ]/ z+ D% |+ M; m3 B- K - if ($_POST['select'] == 'newest') { $order = "&order=DESC"; }) P: h7 a, }6 @7 k" z# X: C
- if ($_POST['select'] == 'oldest') { $order = "&order=ASC"; } }9 R) P. T5 b/ Y, [
- if ($_POST['select'] == 'mcommented') { $order = "&order=DESC&orderby=comment_count"; }
9 O# L( r8 b5 v: E- C- b8 x- L- j - if ($_POST['select'] == 'lcommented') { $order = "&order=ASC&orderby=comment_count"; }
' n) y2 n4 G. }7 H6 t - ?>( M& G4 @5 `# H N4 q
- 5 u, q) e+ E9 {. t. | R# r& @
* [( D- U. Q: l6 Z P- <form method="post" id="order">
1 q2 Z3 j+ N7 V7 o7 } - Sort reviews by:
: h' a5 Y3 Q% K3 k n0 h* I6 v - <select name="select" onchange='this.form.submit()'>: B0 R! l% T( c7 Z
- <option value="tag"<?php selected( $_POST['select'],'tag', 1 ); ?>>Tag</option>
p5 v3 P: n8 `% w - <option value="title"<?php selected( $_POST['select'],'title', 1 ); ?>>Title</option>6 w B( h0 o, A0 e& `+ A" b8 z
- <option value="newest"<?php selected( $_POST['select'],'newest', 1 ); ?>>Newest</option>8 g. X+ U4 r% Z1 `9 C
- <option value="oldest"<?php selected( $_POST['select'], 'oldest', 1 ); ?>>Oldest</option>
7 K0 \8 \; y8 T. |# w9 F& T - <option value="mcommented"<?php selected( $_POST['select'],'mcommented', 1 ); ?>>Most commented</option>4 C! A9 q3 I- R; ?0 r7 F; n7 h- v5 o6 o
- <option value="lcommented"<?php selected( $_POST['select'],'lcommented' , 1 ); ?>>least commented</option>
! ?8 |1 q( c9 [ - </select>
( k' K$ J+ @1 o* z$ Q) F - </form>/ O9 k z# x+ ~2 j4 }( `
& h- R+ }4 E5 B* N, U5 \- <?php query_posts($query_string . $order); ?>. w8 E0 Y/ m- I: t2 p) Y
- <?php if ( have_posts() ) : ?>
$ b) F0 a: L; F0 `1 M: {1 y1 I& m - <?php while (have_posts()) : the_post(); ?>
複製代碼 |