Affichage de la pagination de la liste et recherche par mot-clé
Dans cette section, nous parlerons des fonctions d'affichage de pagination et de recherche par mot clé.
Pour faire la fonction de pagination, il faut d'abord se connecter à la base de données et obtenir les données. Dans la plupart des cas, nous pouvons écrire des fonctions de pagination et de recherche dans la même page php.
Ensuite, analysons le processus de la fonction de pagination?:
Nous devons d'abord définir le nombre d'éléments affichés sur chaque page et le nombre de données au total, afin de savoir combien de pages il y a au total et sur quelle page nous sommes actuellement affichés.
Expliquons-le en détail en fonction du code?:
<?php //分頁(yè)功能 $pageSize = 5; //每頁(yè)顯示多少條記錄 $rowCount = 0; //共有多少條記錄 $pageNow = 1; //希望顯示第幾頁(yè) $pageCount = 0; //一共有多少頁(yè) //根據(jù)分頁(yè)鏈接來(lái)修改當(dāng)前頁(yè)的值 if (!empty($_GET['page'])) { $pageNow = $_GET['page']; } //這里是關(guān)鍵詞的搜索 $key=isset($_GET['key'])?'':$_GET['key'];//判斷前段頁(yè)面?zhèn)鬟f過(guò)來(lái)的關(guān)鍵詞是否存在 $cid=isset($_GET['cid'])?'':$_GET['cid']; $condition='1=1'; //這個(gè)條件是保證在搜索欄中沒(méi)有任何輸入的時(shí)候能正常顯示 if(!empty($key)){ $condition.=" and content LIKE '%{$key}%'"; } if(!empty($cid)){ $condition.=" and cid={$cid}"; } //根據(jù)分頁(yè)鏈接來(lái)修改 $pageNow的值。 $sql = "select count(*) from list WHERE {$condition}"; //根據(jù)$condition條件來(lái)進(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ì)算共有多少頁(yè) $pageCount = ceil($rowCount / $pageSize); $pageStart = ($pageNow - 1) * $pageSize; //發(fā)送帶有分頁(yè)的sql結(jié)果 //根據(jù)$sql語(yǔ)句的limit 后面的兩個(gè)值(起始值,每頁(yè)條數(shù)),來(lái)實(shí)現(xiàn)分頁(yè)。以及求得這兩個(gè)值。 $sql = "select * from list WHERE {$condition} order BY id limit $pageStart,$pageSize"; $res2 = mysqli_query($link,$sql) or die('無(wú)法獲取結(jié)果集' . mysqli_connect_error()); $prev = ($pageNow - 1 <= 0 )?1:$pageNow-1; //上一頁(yè) $next = ($pageNow + 1 > $pageCount)?$pageCount:$pageNow+1; //下一頁(yè) ?>
Nous avons mis la pagination et la recherche par mot-clé sur une seule page.
Dans notre page front-end, nous devons également apporter quelques modifications?:
<a href="?page=<?php echo $prev;?>">上一頁(yè)</a> <?php for($i=1; $i<=$pageCount; $i++):?> <a href="?page=<?php echo $i;?> " <?php echo $i;?></a> <a href="?page=<?php echo $next;?>">下一頁(yè)</a>
La fonction de recherche doit parcourir les données que nous avons recherchées en fonction des mots-clés sur la page front-end.
<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>
Ce qui précède est la recherche par pagination et par mot clé que nous avons introduite. S'il y a quelque chose que vous ne comprenez pas, vous pouvez laisser un message et je vous aiderai à y répondre à temps.