作者 主題: 分頁的問題  (閱讀 4904 次)

0 會員 與 1 訪客 正在閱讀本文。

Hsuan

  • 懷疑的國中生
  • **
  • 文章數: 51
    • 檢視個人資料
分頁的問題
« 於: 2006-11-30 15:07 »
請問大大:
第一頁、上一頁、下一頁、最後一頁的這種程式要怎麼寫丫?
分頁的部份我會寫,就是1.2.3,出現頁數的。
麻煩了大大~~

hoyo

  • 榮譽博士
  • 俺是博士!
  • *****
  • 文章數: 4052
  • 性別: 男
  • 有需要的時候,學習就不會分階段。
    • 檢視個人資料
    • 樂咖黑電腦學習網
分頁的問題
« 回覆 #1 於: 2006-11-30 15:21 »
二的上一頁是一
下一頁是三

第一頁一定是一
三就是最後一頁
受人與魚,不如授人與漁
上海自來水來自海上;倫敦好奇人奇好敦倫

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
計算123
« 回覆 #2 於: 2006-11-30 15:58 »
// mNrc=sqlRecordCount

// defined in config.
// $xNpageItems = "10";

// totalPage count
$mNtotalPage = ( ($mNrc-1) - (($mNrc-1)%$xNpageItems) )/$xNpageItems;

根據目前頁面的 $pNpgno 設定前後頁面的鏈結點選、目前所在頁數字體
lifeIsFunWithPHP.

shengeih

  • 鑽研的研究生
  • *****
  • 文章數: 970
    • 檢視個人資料
分頁的問題
« 回覆 #3 於: 2006-12-01 18:03 »
代碼: [選擇]

<?php
$CountResult 
mysql_query&#40;"SELECT COUNT&#40;*&#41; FROM $DatabaseTable"&#41;;
$CountRow mysql_fetch_assoc&#40;$CountResult&#41;;
$TotalRow $CountRow['COUNT&#40;*&#41;'&#93;; // 總筆數
$TotalPages ceil&#40;$TotalRow/$OnePage&#41;; // 共多少分頁

if&#40;$_GET['GoStartPage'&#93; == 0 OR $_GET['GoStartPage'&#93; == ""&#41;
&#123; $GoStartPage = 0; &#125;
else
&
#123;
 
$GoStartPage $_GET['GoStartPage'&#93;;
&#125;

$SQL "SELECT * FROM $DatabaseTable ORDER BY $PrimaryKey DESC LIMIT $GoStartPage,$OnePage";
$Result mysql_query&#40;$SQL&#41;;

$GoNextPage $GoStartPage+$OnePage;
$GoUpPage $GoStartPage-$OnePage;
$GoEndPage = &#40;&#40;round&#40;$OnePage&#41; * $TotalPages&#41; - $OnePage&#41;;

$NowPage ceil&#40;&#40;$GoStartPage / $OnePage&#41; + 1&#41;;
if&#40;$GoStartPage > 0 &#41;
&#123;
     
$FirstPage "|<a href=?GoStartPage=0>第一頁</a>";
     
$UpPage "|<a href=?GoStartPage=".$GoUpPage.">上一頁</a>";
&
#125;
else
&
#123;
 
if&#40;$TotalRow > $OnePage&#41;
    
&#123;
     
$FirstPage "|第一頁";
     
$UpPage "|上一頁";
    &
#125;
&#125;

if&#40;$TotalRow > $OnePage&#41;
&#123;
 
if&#40;$GoNextPage > $TotalRow&#41;
    
&#123;
     
$DownPage "|下一頁";
        
$LastPage "|最末頁";
    &
#125;
    
else
    &
#123;
     
if&#40;$GoNextPage >= $TotalRow&#41;
        
&#123;
         
$DownPage "|下一頁";
        &
#125;
        
else
        &
#123;
        
$DownPage "|<a href=?GoStartPage=".$GoNextPage.">下一頁</a>";
        &
#125;
    
&#125;
        
$EndPage "|<a href=?GoStartPage=".$GoEndPage.">最末頁</a>|";

&
#125;

$TotalData "資料筆數:".$TotalRow."|頁數:".$NowPage."/".$TotalPages;
?>



直接給您魚吃,您會不會打死我???

Hsuan

  • 懷疑的國中生
  • **
  • 文章數: 51
    • 檢視個人資料
分頁的問題
« 回覆 #4 於: 2006-12-04 18:14 »
謝謝各位大大的回覆:
我現在碰到了一個問題
我上下一頁都寫好了
但按下一頁,網址的變數是有在跑啦!!但內容卻沒變,不知是哪裡寫錯
請大大幫我指證一下,謝~~
以下是我的程式
------------------------------------------------------
<?
//計算筆數
$str="select count(*) from album";
$list=mysql_query($str,$link);
$start_num=$read_num*($page_num-1);
list($album_count)=mysql_fetch_row($list);
//下一頁
$pages=intval($album_count/$read_num)+1;
if($page_num>$pages){$page_num=$pages;}

?>

<div align="center">目前共有<font face="Arial" color="red"><? echo $album_count; ?></font>本相簿</div>
<td height="40" width="120" valign="top" align="center">
  <p>&nbsp;</p>
 
  <?
  //排序預設值
  if(empty($sort))$sort="album_date, album_no";
  //分頁分析
  if(empty($page_num))$page_num="1";
  if($page_num<1){$page_num=1;}
  $start_num=$read_num * ($page_num-1);
  $str="select album_no, album_date, MyFile, album_name, album_describ from album order by $sort limit
$start_num,$read_num";
$list=mysql_query($str,$link);
$i=0;
$j=0;

  echo "  <table align=center width=800><tr>";

while(list($album_no, $album_date, $MyFile, $album_name, $album_describ)=mysql_fetch_row($list)){
   if(strlen($album_name)>12){//將討論主題從0開始擷取40個字元
   $album_name=substr($album_name,0,12).".....";
   }
   if($close_html){   //關閉HTML語法功能之後,進行資料轉換。
   $album_name=htmlspecialchars($album_name);
   }

    if(++$album_num %2>0)
   {
   $bgcolor="lightyellow";
    }
   else{
   $bgcolor="Snow";
      }   
      
      
        echo"<td align=center width=200 height=150 valign=top>\n
            <a href='./stu_album_1.php?book=$album_no' >
            <img src='/orffmusic/imagesa/$MyFile'
            ALT='$MyFile' width='100' height='70' border='0'></a>
            <br>
            <font color='blue'>$album_name</font>
            
         </td>\n";
           
            $j++;
             if ($j % 5 == 0) {echo "</tr>\n";}

            
 }
          
         $count=$j;
         if ($count % 5 != 0) {echo "</tr>\n";}
         echo "</table>";      

  ?>
 
  <p></p>
<?
$p1=$page_num-1;
$p2=$page_num+1;
  if($p1<1){$p1=1;}

echo "<p align=center> <a href=stu_index_album.php?page_num=$p1>上一頁</a>";
// 分頁
  $all_page=ceil($album_count/$read_num);
  for($i=1;$i<=$all_page;$i++){
  echo "<a href='stu_index_album.php?page_num=$i'><font color='blue'>  $i|</font></a>";}
 echo "<a href=stu_index_album.php?page_num=$p2>下一頁</a></p>";
  ?>

Hsuan

  • 懷疑的國中生
  • **
  • 文章數: 51
    • 檢視個人資料
分頁的問題
« 回覆 #5 於: 2006-12-04 18:44 »
不用了各位大大,我已經找出錯誤了
謝謝各位大大