이 글은 PHP 검색과 페이징을 구현하여 많은 브라우저의 페이징 문제를 해결합니다. 이 글을 읽은 친구들이 이 글을 읽은 후 페이징 표시의 원리와 구현 방법을 이해할 수 있도록 노력합니다.
페이지 매김 표시는 많은 양의 데이터를 탐색하는 방법입니다. 초보자들이 이 문제에 대해 혼동하는 경우가 많기 때문에 이 문제를 자세히 설명하기 위해 특별히 이 글을 썼고, 이 글을 읽은 친구들이 이 글을 읽은 후 페이징 표시의 원리와 구현 방법을 이해할 수 있도록 노력했습니다.
모든 샘플 코드는 PHP로 작성되었습니다.
페이징 표시란 데이터베이스에 있는 결과 세트를 인위적으로 여러 섹션으로 나누어 표시하는 것을 의미합니다.
다음 코드를 자세히 읽어보시고 직접 디버그하고 실행해 보시는 것이 가장 좋습니다.
$wherelist=array(); $urlist=array(); if(!empty($_GET['title'])) { $wherelist[]=" title like '%".$_GET['title']."%'"; $urllist[]="title=".$_GET['title']; } if(!empty($_GET['keywords'])) { $wherelist[]=" keywords like '%".$_GET['keywords']."%'"; $urllist[]="keywords=".$_GET['keywords']; }if(!empty($_GET['author'])) { $wherelist[]=" author like '%".$_GET['author']."%'"; $urllist[]="author=".$_GET['author']; } $where=""; if(count($wherelist)>0) { $where=" where ".implode(' and ',$wherelist); $url='&'.implode('&',$urllist); } //分页的实现原理 //1.获取数据表中总记录数 $sql="select count(*) from news $where "; $result=mysql_query($sql); $totalnum=mysql_num_rows($result); //每页显示条数 $pagesize=5; //总共有几页 $maxpage=ceil($totalnum/$pagesize); $page=isset($_GET['page'])?$_GET['page']:1; if($page <1) { $page=1; } if($page>$maxpage) { $page=$maxpage; } $limit=" limit ".($page-1)*$pagesize.",$pagesize"; $sql1="select * from news {$where} {$limit}"; //$sql1="select * from news {$where} {$limit}"; $res=mysql_query($sql1); ?> <form action="searchpage.php" method="get"> 标题:<input type="text" name="title" value="<?php echo $_GET['title']?>" size="8"> 关键字<input type="text" name="keywords" value="<?php echo $_GET['keywords']?>" size="8"> 作者:<input type="text" name="author" value="<?php echo $_GET['author']?>" size="8"> <input type="button" value="查看全部" onclick="window.location='searchpage.php'"> <input type="submit" value="搜索"> </form> <table border="1" width="1000" align="center"> <tr> <td>编号</td> <td>标题</td> <td>关键字</td> <td>作者</td> <td>日期</td> <td>内容</td> </tr> <?php while($row= mysql_fetch_assoc($res)){?> <tr> <td><?php echo $row['id'] ?></td> <td><?php echo $row['title'] ?></td> <td><?php echo $row['keywords'] ?></td> <td><?php echo $row['author'] ?></td> <td><?php echo date("Y-m-d H:i:s",$row['addtime']) ?></td> <td><?php echo $row['content'] ?></td> </tr> <?php }?> <tr> <td colspan="6"> <?php echo " 当前{$page}/{$maxpage}页 共{$totalnum}条"; echo " <a href='searchpage.php?page=1{$url}'>首页</a> "; echo "<a href='searchpage.php?page=".($page-1)."{$url}'>上一页</a>"; echo "<a href='searchpage.php?page=".($page+1)."{$url}'>下一页</a>"; echo " <a href='searchpage.php?page={$maxpage}{$url}'>尾页</a> "; ?> </td> </tr> </table>
요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.
관련 권장 사항:
PHP 프레임워크에서 트랜잭션을 실행하는 방법을 생각해 보세요.
PHP+MySQL은 mysql_num_rows를 사용하여 퍼지 질의서 정보 기능을 구현합니다.
php 컬은 json 개체를 가져와서 변환합니다. 배열로 배열 Method
위 내용은 PHP 검색 및 페이징 구현 사례 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!