PHP中查詢結果分頁


很多剛入門的朋友們做分頁已經沒有什么問題,但是在做查詢分頁的時候可能會遇到問題,例如頁面中一頁默認顯示10條數據,共有100條數據,當你查詢符合某個條件的數據的時候,發現符合條件的數據有15條,這個時候只需要用get接收傳過來的查詢條件即可,(如果用post的話,請將變量存儲到session中使用),查出來的第一頁沒問題,當翻頁 翻到第二頁的時候會發現查詢條件丟失了,好多新手不知所措,其實問題的原因很簡單,是因為在點擊翻頁按鈕的時候忘記了傳遞參數,參數就是這個查詢條件,加上就可以了,完整的代碼如下:

 

<?php  
$conn = @mysql_connect("localhost","root","root") or die("連接數據庫服務器失敗!");  
//連接ly_php_base數據庫  
$ok = @mysql_select_db("pagetest",$conn) or die("未能連接到數據庫!");
mysql_query("set names 'utf8'"); //解決想mysql數據庫中插入漢字失敗的問題,這里注意utf8必須和<meta charset="utf-8">中的這一致
if($ok){echo "mysql is ok!";}else {echo "mysql is failed!";}
$page=$_GET['page'];//獲得當前的頁面值
if (!isset($page)){$page=1;} //如果沒有值,則賦值1
$page_size=4;//每頁顯示2條
$tt=$_GET['title'];

if($tt){
    $tv="title like '%$tt%'";
}else{
    $tv=1;
}

$arcs_result=mysql_query("select count(*) as total from contents where $tv");//輸出結果為Resource id #4
//echo $arcs_result;
$arc_size=mysql_result($arcs_result,0,"total");//文章總數
$pagenum=ceil($arc_size/$page_size);
    $offset=($page-1)*$page_size;
    $sql=mysql_query("SELECT * FROM contents WHERE $tv order by id asc limit $offset,$page_size");  
    
    //desc表示降序排序,意思是從$offset開始,排$page_size次
    if($sql){echo "query yes";}else {echo "query no";}
    $rs=mysql_fetch_array($sql); //提取數據
  
    
?>    
<form action="ceshi.php" method="get">
    <input type="text" name="title"/>
    <input type="submit" value="查詢"/>
    </form>
<?php    
    
    while($rs) {  
?>





    <div>
    <p>主鍵:<?php echo $rs['id'];?><p>
    <p>用戶編號:<?php echo $rs['user_id'];?></p>
    <p>發送日期:<?php echo $rs['send_date'];?></p>
    <p>標題:<?php echo $rs['title'];?></p>
    <p>備注:<?php echo $rs['note'];?></p>
    <p>內容:<?php echo $rs['content'];?></p>
    <p>[<?php echo $page;?>]頁</p>
    <p>-----------------------------------</p>
    </div> 
<?php 
        $rs = mysql_fetch_array($sql); 
    }
For($i=1;$i<=$pagenum;$i++){


       $show=($i!=$page)?"<a href='ceshi.php?page=".$i."&title=$tt'>$i</a>":"<b>$i</b>";
       Echo $show." ";

}
?>

然后就可以了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM