您好,登錄后才能下訂單哦!
小編給大家分享一下PHP7留言板開(kāi)發(fā)之列表搜索的實(shí)現(xiàn)方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
1.
當(dāng)數(shù)據(jù)量上來(lái)的時(shí)候,要找到它們中的一條,單單翻頁(yè)去查找是一件很困難的事,這是時(shí)候就需要用到數(shù)據(jù)的搜索,可以瞬間找到我們想要的數(shù)據(jù),既可以模糊搜索也可以精準(zhǔn)搜索。
在【分頁(yè)】那一節(jié)我們已經(jīng)做到了翻頁(yè),現(xiàn)在我們給這個(gè)列表加入搜索框進(jìn)行搜索。
拿到任務(wù)的時(shí)候,如果沒(méi)有設(shè)計(jì)圖,自己腦子里要有個(gè)大概的想法,當(dāng)然有經(jīng)驗(yàn)了可以直接擼代碼;還不好下手那就自己手動(dòng)畫(huà)一個(gè)(紙跟筆的少不了的)。萬(wàn)事俱備只欠動(dòng)手?jǐn)]碼了。
1、p+CSS(專輯開(kāi)頭的步驟一有介紹,實(shí)現(xiàn)用戶操作一面,這里我們只需要額外增加:關(guān)鍵詞輸入框+搜索按鈕的樣式)
2、PHP接收參數(shù)+MYSQL查詢
接收用戶提交的關(guān)鍵詞,賦值給$keyword
,組裝sql查詢關(guān)鍵詞語(yǔ)句"SELECT * FROM feedback WHERE name LIKE '%{$keyword}%'";
,去執(zhí)行sql語(yǔ)句或者相應(yīng)數(shù)據(jù)返回前臺(tái)呈現(xiàn)給用戶。
注:
name LIKE '%{$keyword}%'"
意思是獲取name字段中包含$keyword
的記錄集,兩邊的%
百分號(hào)是指匹配任意類型和長(zhǎng)度的字符,即模糊搜索,精準(zhǔn)搜索去掉百分號(hào)即可。
3、測(cè)試+debug修改
整個(gè)需求功能都實(shí)現(xiàn)后,自己再簡(jiǎn)單的測(cè)試一遍,有時(shí)候以用戶角度去體驗(yàn)一下自己做的功能,會(huì)發(fā)現(xiàn)不一樣的問(wèn)題,我們需要完善一下并修改debug,再提交給產(chǎn)品驗(yàn)收。相信堅(jiān)持這樣做,這份嚴(yán)謹(jǐn)?shù)膽B(tài)度會(huì)給你帶來(lái)意想不到收獲。
無(wú)非就是開(kāi)頭的三步驟,穩(wěn)穩(wěn)的完成任務(wù),看著是不是離全棧工程師又更近一步了。
結(jié)合課程開(kāi)頭的代碼使用
老友記之PHP7留言板開(kāi)發(fā)(步驟一)
老友記之PHP7留言板開(kāi)發(fā)(步驟二)
老友記之PHP7留言板開(kāi)發(fā)(步驟三)
<?php include 'config.php'; $page = !empty($_GET['page'])?intval($_GET['page']):1; $keyword = !empty($_GET['keyword'])?strip_tags($_GET['keyword']):''; $pagesize = 1; // 統(tǒng)計(jì)總記錄數(shù),便于計(jì)算出總頁(yè)數(shù) if(!empty($keyword)){ $sql = "SELECT * FROM feedback WHERE name LIKE '%{$keyword}%'"; }else{ $sql = "SELECT * FROM feedback"; } $result = mysqli_query($mysqli, $sql); $total = mysqli_affected_rows($mysqli); $total_page = ceil($total/$pagesize); // 進(jìn)一法取整獲取總頁(yè)數(shù) // 開(kāi)始分頁(yè)查詢,根據(jù)page計(jì)算偏移量 $offset = ($page - 1) * $pagesize; if(!empty($keyword)){ $sql = "SELECT * FROM feedback WHERE name LIKE '%{$keyword}%' LIMIT {$offset}, {$pagesize}"; }else{ $sql = "SELECT * FROM feedback LIMIT {$offset}, {$pagesize}"; } $result = mysqli_query($mysqli, $sql); $lists = array(); while($rows = mysqli_fetch_array($result)){ $lists[] = $rows; } ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>列表帶搜索功能_留言板_科科分享</title> <!-- 2.新建css樣式文件并根據(jù)效果圖編寫(xiě)css代碼 --> <link rel="stylesheet" href="feedback.css"> </head> <body> <!-- 工作區(qū),呈現(xiàn)給用戶看的 --> <!-- 1.開(kāi)始搭建腳手架 --> <p class="container_box"> <p class="up"> <h4 class="title">留言板</h4> <h6 class="subtitle">LIST</h6> </p> <p class="down list"> <p class="search"> <form action="list.php"> 關(guān)鍵詞:<input type='text' name="keyword" /> <input type="submit" value="去搜索"> </form> </p> <ul> <?php foreach($lists as $item){ ?> <li>姓名:<?php echo $item['name']?> 聯(lián)系方式:<?php echo $item['contact']?> 內(nèi)容:<?php echo $item['content']?></li> <?php } ?> </ul> <p class="pages"> <ul> <?php for($p = 1; $p<=$total_page; $p++){ ?> <li <?php echo ($page == $p)?'class="active"':'';?>><a href="?page=<?php echo $p?>&keyword=<?php echo $keyword?>"><?php echo $p?></a></li> <?php } ?> </ul> </p> </p> </p> </body> </html
看完了這篇文章,相信你對(duì)PHP7留言板開(kāi)發(fā)之列表搜索的實(shí)現(xiàn)方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。