【求助】 php+mysql分页

【求助】 php+mysql分页

想做个分页功能,在网上搜了点资料,写了这个分页页面,现在有个问题不知道怎么解决!!

整个页面代码如下,

[复制到剪切板]
CODE:
<html>
    <
head>
        <
title>
            
日志审计
      
</title>    
     

      <
link rel='stylesheet' type='text/css' href='../style/style.css'/> 
    </
head>
    
    <
body>
        <
h1>日志查看</h1>
        <
center>
            [<
a href='#' target=main>日志查看</a>|<a href='log.php'>日志统计</a>]
        
        <
table border='1'>
            <
tr>
                <
form  method="post"  action="<?php echo $PHP_SELF;?>">
                <
table>
                    <
tr><td colspan=2  style='color: #11334f;background: #ccc9d0;border-color: #7f7f7f;border-width: 1px;font-size: 8pt;border-radius:8px;-moz-border-radius: 8px;-webkit-border-radius: 8px;'>查询条件选择</td>
                    </
tr>
                    <
tr>
                        <
td  style='width:80;color: #11334f;background: #ccc9d0;border-color: #7f7f7f;border-width: 1px;font-size: 8pt;text-align: center;border-radius:8px;-moz-border-radius: 8px;-webkit-border-radius: 8px;'>主机</td><td align='center' style='width:80;color: #11334f;background: #FFFFFF;border-color: #7f7f7f;border-width: 1px;font-size: 8pt;text-align: center;border-radius:8px;-moz-border-radius: 8px;-webkit-border-radius: 8px; '><input  type="text" name="ip" ></td>
                    </
tr>
                    <
tr>
                        <
td  style='width:80;color: #11334f;background:#ccc9d0;border-color: #7f7f7f;border-width: 1px;font-size: 8pt;text-align: center;border-radius:8px;-moz-border-radius: 8px;-webkit-border-radius: 8px;'>日期(MM-DD HH:MM:S)</td><td><input type="text" name="date_begin"  ><input type="text" name="date_end"  ></td>
                    </
tr>
                    <
tr>
                        <
td colspan=2 align='center' style='color: #11334f;background: #ccc9d0;border-color: #7f7f7f;border-width: 1px;font-size: 8pt;text-align: center;border-radius:8px;-moz-border-radius: 8px;-webkit-border-radius: 8px;'><input type='submit' value='执行'><input type='reset' value='取消'></td>
                    </
tr>
                </
table>
            </
form>
          </
tr>
          <
hr size='5'>
          <
tr>
              
                  <?
php 
                      
require_once('db_config.php');
                      
$date_begin=$_POST['date_begin'];
                      
$date_end  =$_POST['date_end'];
                      
$ip        =$_POST['ip'];
                      if(
$ip != ''&& ($date_begin !='' && $date_end !='')){
                              
$sql="select * from tbl_device where ip='".$ip."' and date between '".$date_begin."' and '".$date_end."'" ;                              
                         echo 
$sql;
                      }
                      else if(
$ip == ''&& ($date_begin !='' && $date_end !='')){
                              
$sql="select * from tbl_device where  date between '".$date_begin."' and '".$date_end."'" ;        
                          echo 
$sql;                      
                      }
                      else if(
$ip != ''&& ($date_begin =='' && $date_end =='')){
                              
$sql="select * from tbl_device where ip='".$ip."'";
                          echo 
$sql;    
                      }else{
                            
$sql="select * from tbl_device";
                          echo 
$sql;
                          }
                      
                      
                  
$conn  =mysql_connect($mysql_server_name,$mysql_username,$mysql_password);
                  
$result=mysql_db_query($mysql_database,$sql,$conn);
//分页开始                
                  
$num1=mysql_num_rows($result);
                  
$pagesize1 10
            
$start1 $_GET['start1']; 
            
$flag1 $_GET['flag1']; 
            
            
//判断$start1是否有值 
           
if ($start1 == null) { 
            
$start1 0
            } 
//判断完毕 

//判断$flag1是否有值 
           
if ($flag1 == null) { 
           
$flag1 0
           } 
//判断完毕 

//判断标志位以确定$start1的值 
          
if ($flag1 == and $start1+$pagesize1 $num1){ 
          
$start1 $start1+$pagesize1
          } 
         if (
$flag1 == and $start1+$pagesize1 0){ 
         
$start1 $start1-$pagesize1
          } 
//判断完毕 

         
$query_product_type $sql." limit ".$start1.","$pagesize1
         
$result_product_type mysql_query($query_product_type) or die("Query failed : " mysql_error()); ?>
<?
//页码开始

         //最后一页START标识?> 
        
<? if (($num1 $pagesize1) != 0){ 
         
$lastpage1 $num1 - ($num1 $pagesize1); 
        }else{ 
        
$lastpage1 $num1 $pagesize1
        } 
//代码结束 
//判断页数以及当前页代码 
        
$pagenum1 ceil($num1 $pagesize1); 

        if (
$start1 == 0){ 
        
$nowpage1 1
        }else{ 
        
$nowpage1 = ($start1 $pagesize1) + 1
        } ?>
<?
//判断结束 ?>
<tr
<
td><hr color='#314DA5' size='1' noshade style='border-style: dotted; border-width: 1px; padding: 0'></td
</
tr
<
tr
<
td><p align='center'><span style='font-size: 9pt'><font color '#FF0000'><b><? echo $nowpage1 ?></b></font>页 <font color 

'#FF0000'><b><? echo $pagenum1 ?></b></font>页 <font color '#FF0000'><b><? echo $num1?></b></font>条记录</span></td
</
tr
<
tr
<
td><p align='center'>

<?
//分页显示判断部分?> 
<? if ($start1 == and $pagesize1 $num1){ ?> 
<
span style='font-size: 9pt'>【首页】【上页】<a href ='log_main.php?flag1=1&start1=<? echo $start1 ?>'>【下页】</a><a href ='log_main.php?start1=<? echo $lastpage1?>'>【末页】</a></span>
<? }elseif (
$start1 >= $num1-$pagesize1 and $pagesize1 $num1){ ?>
<
span style='font-size: 9pt'><a href ='log_main.php?start1=0'>【首页】</a><a href ='log_main.php?flag1=2&start1=<? echo $start1 ?>'>【上页】</a>【下页】【末页】</span
<? }elseif (
$pagesize1 >= $num1 ){ ?>
<
span style='font-size: 9pt'>【首页】【上页】【下页】【末页】</span
<? }else{ ?>
<
span style='font-size: 9pt'><a href ='log_main.php?start1=0'>【首页】</a><a href ='log_main.php?flag1=2&start1=<? echo $start1 ?>&'>【上页】</a><a href ='log_main.php?flag1=1&start1=<? echo $start1 ?>&ip=<? echo $_POST['ip']?>'>【下页】</a><a href ='log_main.php?start1=<? echo $lastpage1 ?> '>【末页】</a></span
<?}?> 
<?
//分页代码判断结束
?> 
</
td
</
tr>
<?
//页码结束
?>
         <
table>
                  <
tr>
                      <
td align='center' style='width:80;color: #11334f;background: #ccc9d0;border-color: #7f7f7f;border-width: 1px;font-size: 8pt;text-align: center;border-radius:8px;-moz-border-radius: 8px;-webkit-border-radius: 8px;'>时间</td><td align='center' style='width:80;color: #11334f;background: #ccc9d0;border-color: #7f7f7f;border-width: 1px;font-size: 8pt;text-align: center;border-radius:8px;-moz-border-radius: 8px;-webkit-border-radius: 8px;'>设备</td><td align='center' style='width:80;color: #11334f;background: #ccc9d0;border-color: #7f7f7f;border-width: 1px;font-size: 8pt;text-align: center;border-radius:8px;-moz-border-radius: 8px;-webkit-border-radius: 8px;'>类型</td><td align='center' style='width:400; color: #11334f;background: #ccc9d0;border-color: #7f7f7f;border-width: 1px;font-size: 8pt;text-align: center;border-radius:8px;-moz-border-radius: 8px;-webkit-border-radius: 8px;'>动作</td>
                  </
tr
<? while(
$row=mysql_fetch_array($result_product_type)){?>
                 <
tr>
                             <
td align='center' style='width:80;color: #11334f;background: #FFFFFF;border-color: #7f7f7f;border-width: 1px;font-size: 8pt;text-align: center;border-radius:8px;-moz-border-radius: 8px;-webkit-border-radius: 8px;'><? echo $row['date']?></td>
                             <
td align='center' style='width:80;color: #11334f;background: #FFFFFF;border-color: #7f7f7f;border-width: 1px;font-size: 8pt;text-align: center;border-radius:8px;-moz-border-radius: 8px;-webkit-border-radius: 8px;'><? echo $row['ip']?></td>
                             <
td align='center' style='width:80;color: #11334f;background: #FFFFFF;border-color: #7f7f7f;border-width: 1px;font-size: 8pt;text-align: center;border-radius:8px;-moz-border-radius: 8px;-webkit-border-radius: 8px;'><? echo $row['type']?></td>
                             <
td align='center' style='color: #11334f;background: #FFFFFF;border-color: #7f7f7f;border-width: 1px;font-size: 8pt;text-align: center;border-radius:8px;-moz-border-radius: 8px;-webkit-border-radius: 8px;'><? echo $row['descon']?></td>
                 </
tr>
<?}?> 

</
table
</
tr
</
table

<? 

mysql_free_result($result);
mysql_free_result($result_product_type); 
             
 
// 分页结束          
  
mysql_close($conn);
 ?>
                  
          
      </
center>
    </
body>
    
    
</
html> ;

才接触php 不到3天,这个页面因为每次自己跳转自己的时候都会重新生成sql,所以每次点下一页,或者上一页的时候,遍历的都是所有结果,而并不是查询后的结果,哪位大大给指条明路!!

[ 本帖最后由 不看天 于 2009-7-28 17:26 编辑 ]

怎么发资料的人那么多,在线解决问题的人这么少啊!

分页用limit 就行了
比如第一页取出 10条
select * from content limit 0, 10 //从0开始取出10条
第二页
select * from content limit 10, 10

php可以这样写

[复制到剪切板]
CODE:
(isset($_GET['page']) && $page=intval($_GET['page'])) || $page 1;
$pageNum 10;
$start = ($page-1)*$pageNum;
$sql "select * from content limit {$start}{$pageNum}"; ;

毕业了。。。

aa

[ 本帖最后由 不看天 于 2009-7-29 10:47 编辑 ]

附件

chaxun.JPG (55.03 KB)

2009-7-29 09:36

chaxun.JPG