2017-05-09 9 views
1

私が取り組んでいるブログのページネーションを実装するのに何時間も努力してきましたが、うまく動作しません。 URLには、私(myurl).php?pageno =MySQLの投稿のPHPページ分割

ページ番号が要求されていません。

これは、データベース要求を処理するための私のページです:

<?php 

require_once("db-connect.php"); 

$offset = 0; 
$page_result = 5; 

if($_GET['pageno']) 
{ 
$page_value = $_GET['pageno']; 
if($page_value > 1) 
{ 
    $offset = ($page_value - 1) * $page_result; 
} 
} 


$results = mysqli_query($connection, "SELECT * FROM blog where $condition ORDER BY date DESC LIMIT $offset, $page_result") 

or die(mysqli_error('No Records Found')); 

?> 

これは私のブログのページのコードです:

<?php 

         if (mysqli_num_rows($results) > 0) { 
          // output data of each row 
          while($row = mysqli_fetch_assoc($results)) { 
           echo "<li class='background-white'><div class='column large-4'><a href='".$row['link']."' class='text-black1' title='".$row["arttitle"]."'>"."<img src='http://tmggeotech.com/img/blog/".$row['thumbnail']."' alt='".$row['thumbalt']."'/>"."</a></div>"."<div class='column large-8 article-data'>"."<h4><a href='".$row['link']."' class='text-black1' title='".$row["arttitle"]."'>".$row["arttitle"]."</a></h4>"."<small class='text-black2'>Publicado el <span class='text-orange2'>".date('m/d/Y', strtotime($row['date']))."</span> | "."Categoría: <span class='text-orange2'>".$row["category"]."</span></small>"."<p>".$row["excerpt"]."</p>"."</div>"."</li>"; 
          } }else { 
          echo "0 results"; 
         } 

         $pagecount = 50; // Total number of rows 
         $num = $pagecount/$page_result; 

         if($_GET['pageno'] > 1) { 
          echo "<a href='noticias-perforacion-suelos-articulos-maquinas-blog.php?pageno='".($_GET['pageno'] - 1).">Prev</a>"; 
         } 
         for($i = 1 ; $i <= $num ; $i++) { 
          echo "<a href='noticias-perforacion-suelos-articulos-maquinas-blog.php?pageno='".$i.">".$i."</a>"; 
         } 
         if($num != 1) { 
          echo "<a href='noticias-perforacion-suelos-articulos-maquinas-blog.php?pageno='".($_GET['pageno'] + 1).">Next</a>"; 
         } 

         ?> 

だから私の質問は次のとおりです。

が、それはそこに私は何かですそれを動作させるためにここに欠けている?

+3

あなたのリンクの 'href'属性をあなたの番号の前に閉じています。 ( '' ') – ccKep

+0

これをチェックしてください... [http://phppot.com/php/php-pagination/] –

+0

@AbhijeetDasはリンクが機能しません。 –

答えて

0

私が必要としたものを得るためのヒントを指摘してくれた@ccKepに感謝します。私はちょうどそれを働かせました。私はそれでNUM_ROWSを使用することができるように、データベース要求を処理するためのページで

は、私は、2番目の要求を追加しましたが、LIMITなし:

<?php 

require_once("db-connect.php"); 

$offset = 0; 
$page_result = 5; 

if($_GET['pageno']) 
{ 
$page_value = $_GET['pageno']; 
if($page_value > 1) 
{ 
    $offset = ($page_value - 1) * $page_result; 
} 
} 


$results = mysqli_query($connection, "SELECT * FROM blog where $condition ORDER BY date DESC LIMIT $offset, $page_result") 

or die(mysqli_error('No Records Found')); 


$npages = mysqli_query($connection, "SELECT * FROM blog where $condition ORDER BY date DESC") 

or die(mysqli_error('No Records Found')); 

?> 

その後、私のブログのページに、私はに私の投稿を切り上げます次の5の倍数。 また最後のif文を変更して、最後のページを取得した後にNEXTボタンが消えるようにしました。

<?php 

         if (mysqli_num_rows($results) > 0) { 
          // output data of each row 
          while($row = mysqli_fetch_assoc($results)) { 
           echo "<li class='background-white'><div class='column large-4'><a href='".$row['link']."' class='text-black1' title='".$row["arttitle"]."'>"."<img src='http://tmggeotech.com/img/blog/".$row['thumbnail']."' alt='".$row['thumbalt']."'/>"."</a></div>"."<div class='column large-8 article-data'>"."<h4><a href='".$row['link']."' class='text-black1' title='".$row["arttitle"]."'>".$row["arttitle"]."</a></h4>"."<small class='text-black2'>Publicado el <span class='text-orange2'>".date('m/d/Y', strtotime($row['date']))."</span> | "."Categoría: <span class='text-orange2'>".$row["category"]."</span></small>"."<p>".$row["excerpt"]."</p>"."</div>"."</li>"; 
          } }else { 
          echo "0 results"; 
         } 


         $x = ceil($npages->num_rows/5) * 5; 


         $pagecount = $x; // Total number of rows 
         $num = $pagecount/$page_result; 

         if($_GET['pageno'] > 1) { 
          echo "<a href='noticias-perforacion-suelos-articulos-maquinas-blog.php?pageno=".($_GET["pageno"] - 1)."'>Prev</a>"; 
         } 
         for($i = 1 ; $i <= $num ; $i++) { 
          echo "<a href='noticias-perforacion-suelos-articulos-maquinas-blog.php?pageno=".$i."'>".$i."</a>"; 
         } 
         if($_GET['pageno'] == $num) { 
          echo ""; 
         } else { 
          echo "<a href='noticias-perforacion-suelos-articulos-maquinas-blog.php?pageno=".($_GET["pageno"] + 1)."'>Next</a>"; 
         } 
         ?> 

あなたは、これは私に知らせてください行うにはあまり厄介方法を見つけるので、もし私が、非常に良いコーダないだと気づくかもしれません。

乾杯!

関連する問題