本帖最後由 pootor 於 2013-5-19 20:16 編輯 / b: O' F4 @- j+ M
luguokankan 發表於 2013-5-19 20:00 & A, g" [( ^% Z6 E' A5 a( R, ^
你的問題是不是不會搞包含sort參數的 pagination? 加sort參數的分頁可以搞定。' P1 B' u3 G. Y3 k
/ L- A( z) G. K/ @7 _ G不能搞定:不加參數,可以實現用下拉列表實現訪客排序,但是排序不能分頁,訪問第二頁排序就失去作用了。能否解決分頁也能排序(不加參數)?下面的代碼可以實現排序,但不能分頁。- <?php
9 x* c: x7 R/ [ - $order = "&order=DESC";
$ }0 N' g6 y( }3 s8 | - if ($_POST['select'] == 'tag') { $order = "&tag=mytag"; }
$ H) Y: K" r% n - if ($_POST['select'] == 'title') { $order = "&order=ASC&orderby=title"; }
0 j5 } E8 o6 Y2 j1 u - if ($_POST['select'] == 'newest') { $order = "&order=DESC"; }8 S: Q( t: u5 n. M1 `! f3 ^2 M
- if ($_POST['select'] == 'oldest') { $order = "&order=ASC"; }- a: T3 b& ^5 d, Q% T) D: O' v
- if ($_POST['select'] == 'mcommented') { $order = "&order=DESC&orderby=comment_count"; }
3 k% m: i T( n5 X" E# ^6 l# g - if ($_POST['select'] == 'lcommented') { $order = "&order=ASC&orderby=comment_count"; }$ X I z& p7 v, t1 x4 m) n3 r/ y
- ?>
7 _1 w. ^" B' q0 X
& f# Q/ r3 _1 w- F
4 D4 V% R ~; A+ A" J* H1 k- <form method="post" id="order">1 j2 |# X2 a! m; x/ G( ~
- Sort reviews by: B O+ g- f5 O! ?' ]) T/ I
- <select name="select" onchange='this.form.submit()'>' d( V1 d: C% T4 k4 f/ I( g
- <option value="tag"<?php selected( $_POST['select'],'tag', 1 ); ?>>Tag</option>
( j2 X I: O. u* @/ c/ k- ^+ Z2 J - <option value="title"<?php selected( $_POST['select'],'title', 1 ); ?>>Title</option>' G2 h" Z1 v! P% G
- <option value="newest"<?php selected( $_POST['select'],'newest', 1 ); ?>>Newest</option>
" \& {( T) F: _. s - <option value="oldest"<?php selected( $_POST['select'], 'oldest', 1 ); ?>>Oldest</option># J' D( l3 F4 B$ k
- <option value="mcommented"<?php selected( $_POST['select'],'mcommented', 1 ); ?>>Most commented</option>
0 ~3 ^: @8 L1 G+ A - <option value="lcommented"<?php selected( $_POST['select'],'lcommented' , 1 ); ?>>least commented</option>/ }! U/ M8 g) Z! Y* w! d% _- n
- </select>
' v6 o% s3 [# G) R; F - </form>
7 S! O, A9 E% [8 B% A ?4 H - 5 L, z8 C& [! N4 h4 V
- <?php query_posts($query_string . $order); ?>
' X& f* b7 s' d0 j: Z' r - <?php if ( have_posts() ) : ?>
: v, O0 V: P0 {9 J! R9 r: U - <?php while (have_posts()) : the_post(); ?>
複製代碼 |