一覧ページング表示とキーワード検索
ここではページング表示とキーワード検索機(jī)能について説明します。
ページング機(jī)能を?qū)g行するには、まずデータベースに接続してデータを取得する必要があります。ほとんどの場合、同じ php ページ內(nèi)にページング関數(shù)と検索関數(shù)を作成できます。
次に、ページング関數(shù)のプロセスを分析しましょう:
まず、各ページに表示される項(xiàng)目の數(shù)と、合計(jì)でデータの數(shù)を設(shè)定する必要があります。これにより、次のことがわかります。合計(jì)で何ページありますか。これが現(xiàn)在表示されているページです。
コードを比較して詳しく説明します。
<?php //分頁功能 $pageSize = 5; //每頁顯示多少條記錄 $rowCount = 0; //共有多少條記錄 $pageNow = 1; //希望顯示第幾頁 $pageCount = 0; //一共有多少頁 //根據(jù)分頁鏈接來修改當(dāng)前頁的值 if (!empty($_GET['page'])) { $pageNow = $_GET['page']; } //這里是關(guān)鍵詞的搜索 $key=isset($_GET['key'])?'':$_GET['key'];//判斷前段頁面?zhèn)鬟f過來的關(guān)鍵詞是否存在 $cid=isset($_GET['cid'])?'':$_GET['cid']; $condition='1=1'; //這個(gè)條件是保證在搜索欄中沒有任何輸入的時(shí)候能正常顯示 if(!empty($key)){ $condition.=" and content LIKE '%{$key}%'"; } if(!empty($cid)){ $condition.=" and cid={$cid}"; } //根據(jù)分頁鏈接來修改 $pageNow的值。 $sql = "select count(*) from list WHERE {$condition}"; //根據(jù)$condition條件來進(jìn)行查詢 $res1 = mysqli_query($link,$sql);//將查詢的結(jié)果賦值給$res1 //取出行數(shù) if ($row = mysqli_fetch_row($res1)) { $rowCount = $row[0]; } //取得$rowCount,,進(jìn)而我們就知道了$pageCount這兩個(gè)數(shù)值了 //計(jì)算共有多少頁 $pageCount = ceil($rowCount / $pageSize); $pageStart = ($pageNow - 1) * $pageSize; //發(fā)送帶有分頁的sql結(jié)果 //根據(jù)$sql語句的limit 后面的兩個(gè)值(起始值,每頁條數(shù)),來實(shí)現(xiàn)分頁。以及求得這兩個(gè)值。 $sql = "select * from list WHERE {$condition} order BY id limit $pageStart,$pageSize"; $res2 = mysqli_query($link,$sql) or die('無法獲取結(jié)果集' . mysqli_connect_error()); $prev = ($pageNow - 1 <= 0 )?1:$pageNow-1; //上一頁 $next = ($pageNow + 1 > $pageCount)?$pageCount:$pageNow+1; //下一頁 ?>
ページングとキーワード検索を 1 ページに配置しました。
フロントエンド ページでも、いくつかの変更を加える必要があります。
<a href="?page=<?php echo $prev;?>">上一頁</a> <?php for($i=1; $i<=$pageCount; $i++):?> <a href="?page=<?php echo $i;?> " <?php echo $i;?></a> <a href="?page=<?php echo $next;?>">下一頁</a>
検索機(jī)能は、フロントエンド ページのキーワードに基づいて検索するデータを循環(huán)させる必要があります。
<li> <input type="text" placeholder="請(qǐng)輸入搜索關(guān)鍵字" name="key" class="input" style="width:250px; line-height:17px;display:inline-block" value="<?php echo $_GET['key'];?>"/> <input type="submit" name="sub" class="button border-main icon-search" value="搜索" /> </li>
上記は、導(dǎo)入したページングとキーワード検索です。わからないことがあれば、メッセージを殘していただければ、すぐにお答えいたします。