溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP7留言板開(kāi)發(fā)之列表搜索的實(shí)現(xiàn)方法

發(fā)布時(shí)間:2020-12-22 10:50:25 來(lái)源:億速云 閱讀:313 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下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)行搜索。

效果圖

PHP7留言板開(kāi)發(fā)之列表搜索的實(shí)現(xià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è)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI