2012-03-08 14 views
0

ここでのページングは​​うまく動作しますが、ページあたりの制限は3であるため、データベース内の合計8個のアイテムを想定していますので、 " 1 t0 3" 1ページ目、4ページ目から6ページ目の8ページ目、2ページ目などを参照してください。最後のページは、私がオフセット追加番号「を」正しくないを持っているトムのコードの問題を解決するには現在のページ上の製品のページ分割数の範囲

echo "Showing ".($page == 1 ? 1 : ($page -1) * $recordsLimit +1)." to ".($page * $recordsLimit)." item of ".$totalProducts; 

答えて

1

試してみてください。

$recordsLimit = 3; 
$page = isset($_GET['page']) ? intval($_GET['page']): 1; 
$totalProducts = countProducts($selectedCategoryId); 
$totalPages = ceil($totalProducts/$recordsLimit); 
$pageNumber = $recordsLimit * ($page - 1); 
$products = getProductsByCatId($selectedCategoryId, $pageNumber, $recordsLimit); 
     <?php if($totalProducts > $recordsLimit) : ?> 
      <div class="pagination"> 
       <span>Page <?php echo $page.' of '.$totalPages; ?></span> 
       <?php for($i=1; $i <= $totalPages; $i++) : 
         if($i == $page) { ?> 
          <strong><?php echo $i; ?></strong> 
       <?php } else { ?> 
          <a href="products.php?cat_id=<?php echo $selectedCategoryId; ?>&page=<?php echo $i; ?>"><?php echo $i; ?></a> 
       <?php } 
        endfor; ?> 
    <?php endif; ?> 
+0

ありがとうございました:)この1つはうまく動作します。あなたの答えを確認する直前に自分自身で解決策が見つかったので、それは <?php echo($ pageNumber + 1)。 〜に '。 $ page * $ recordsLimit。 ' 。$ totalProductsの製品?> ですが、問題はページ3にあります。「7〜9の8つのテーマを表示しています – TPSstar

0

は単純にこれを使用して助けてください変数。これを実行するには、$ recordsLimit変数がクエリの "showposts"引数と一致する必要があります。 OPは彼の質問を表示しなかったので、私が使ったものを見せている。

$total_results = $wp_query->found_posts; 

$recordsLimit = 10; 
$args['post_type'] = 'listings'; 
    $args['showposts'] = $recordsLimit;  
    $args['paged'] = $paged; 
    $wp_query = new WP_Query($args); 

$page = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$countoffset = ($page * $recordsLimit)-($total_results); 
$countfrom = ($page == 1 ? 1 : ($page -1) * $recordsLimit +1); 
$countto = ($page * $recordsLimit); 
if(($total_results - $countfrom) < $recordsLimit) {$countto = ($countto - $countoffset);} 
echo 'Showing '.$countfrom.' to '.$countto.' of '.$total_results.' total results'; 
+0

あなたの回答は大丈夫ですが、彼がすっごくレコードを変更したい場合はどうすればよいですか? "$ firstNum + 2"を手作業で別のものに変更する必要があります。 – Ignas

0

<?php $firstNum = (($page-1)*$recordsLimit+1) ?> showing <?php echo $firstNum; ?> to <?php echo $firstNum+2;?> items of <?php echo $totalProducts;?>

関連する問題