2014-07-20 103 views
1

我有一個簡單且可用的php分頁。如果只返回一個頁面,分頁仍然顯示,並且鏈接到第一頁。當只返回一個頁面時,如何隱藏或刪除這個無用的鏈接?任何幫助非常讚賞...如果只返回一個頁面,則不顯示分頁(Php)

我的代碼是這樣的:

<?php 
include 'config.php'; 
include 'opendb.php'; 
?> 

<?php 
    $row=$conn; 
    mysql_select_db('DB_NAME',$row); 

    $start=0; 
    $limit=12; 

    if(isset($_GET['id'])) 
    { 
     $id=$_GET['id']; 
     $start=($id-1)*$limit; 
    } 

    $query=mysql_query("SELECT * FROM `table` LIMIT $start, $limit"); 
    while($row=mysql_fetch_array($query)) 

    { 

?> 

    <!-- RESULT FROM DB --> 

<? } ?> 


<?php     
    $rows=$conn; 
    mysql_select_db('DB_NAME',$rows); 

    $rows=mysql_num_rows(mysql_query("SELECT * FROM `table`")); 
    $total=ceil($rows/$limit); 

    for($i=1;$i<=$total;$i++) 
    { 
    if($i==$id) { 
?> 

     <li class='active'><a href='#'><?php echo "$i"; ?></a></li> 

<?php } else { ?> 

     <li><a href='<?php echo "?id=$i"; ?>'><?php echo "$i"; ?></a></li> 

<?php } 

     } 
?> 
+0

你不能只是你'for'循環之前添加一個'if'語句來檢查是否'$總> 1'? –

+0

感謝仙人掌 - 你是對的 – Tommy

回答

2
//check if the qty is greater than one before running the for loop. 
if($total > 1) 
{ 
    for($i=1;$i<=$total;$i++) 
    { 
    if($i==$id) 
    { 
     echo "<li class='active'><a href='#'>$i</a></li>"; 
    } 
    else 
    { 
     echo "<li><a href='?id=$i'>$i</a></li>"; 
    } 
    } 
} 

運行循環之前就檢查數量。

而且您的SQL語法是過時:http://php.net/manual/en/function.mysql-query.php

+0

感謝約翰爲我顯示準確地把if語句放在哪裏,並警告我一個語法很快消失 – Tommy

+0

歡迎.. http://forums.phpfreaks.com/topic/285929-pdo- in-a-php-class /#entry1467894爲mysql的東西 – John

相關問題