温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
  • 忘记密码?
登录注册×
获取短信验证码
其他方式登录
点击 登录注册 即表示同意 《亿速云用户服务条款》
  • 服务器
  • 数据库
  • 开发技术
  • 网络安全
  • 互联网科技
登 录 注册有礼
最新更新 网站标签 地图导航
产品
  • 首页 > 
  • 教程 > 
  • 开发技术 > 
  • Node如何实现搜索框进行模糊查询

Node如何实现搜索框进行模糊查询

发布时间:2021-06-28 14:22:18 来源:亿速云 阅读:298 作者:小新 栏目: 开发技术

这篇文章主要为大家展示了“Node如何实现搜索框进行模糊查询”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Node如何实现搜索框进行模糊查询”这篇文章吧。

一、需求

点击导航栏中的搜索图,出现搜索框,从而进行文章的模糊查询

二、建表

1.blog表

Node如何实现搜索框进行模糊查询

添加外键:

Node如何实现搜索框进行模糊查询

2.nav表

Node如何实现搜索框进行模糊查询

3.type表

Node如何实现搜索框进行模糊查询

4.user表

Node如何实现搜索框进行模糊查询

三、页面及样式

like.ejs:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>查询</title>
    <link rel="stylesheet" href="/css/bootstrap.min.css" >
    <link rel="stylesheet" href="/css/index.css" >
    <script src="js/jquery-3.3.1.min.js"></script>
    <script src="js/index.js"></script>
</head>
<body>
    <%-include('detachPart/nav.ejs')%>
    <%-include('detachPart/search.ejs')%>
    <div class="container">
        <div class="row">
            <div class="col-lg-9">
                <%-include('bigPart/ownblog.ejs')%>
            </div>  
            <div class="col-lg-3">
                <%-include('smallPart/recommend.ejs')%>
                <%-include('smallPart/rank.ejs')%>
                <%-include('smallPart/rightimg_1.ejs')%>
                <%-include('smallPart/information.ejs')%>
                <%-include('smallPart/mylink.ejs')%>
            </div>
        </div>
    </div>
    <%-include('detachPart/footer.ejs')%>
</body>
</html>

search.ejs:

<div class="container searchclose">
    <form action="/like" method="GET">
        <input name="link" type="text" placeholder="请输入关键字词">
        <input type="submit" value="搜索">
        <img class="closebtn" src="image/icon/close.png" alt="">
    </form>
</div>

index.css:

.searchclose{
    display: none;
    position: relative;
    margin: 0.5rem auto;
    padding: 1rem 0;
    text-align: center;
    background-color: white;
}
.searchclose input:nth-child(1){
    width: 25rem;
    height: 2.2rem;
    outline: none;
    font-size: 0.9rem;
    padding-left: 0.5rem;
    border: 1px solid silver;
    box-sizing: border-box;
    vertical-align: middle;
}
.searchclose input:nth-child(2){
    display: inline-block;
    width: 10rem;
    height: 2.2rem;
    line-height: 2.2rem;
    background-color: rgb(41, 41, 41);;
    color: white;
    vertical-align: middle;
    border: 1px solid rgb(41, 41, 41);
    border-style: none;
    margin-left: -1rem;
}
.searchclose img{
    position: absolute;
    top: 0;
    right: 0;
}

index.js:

$(function(){
    $(".searchbtn").click(function(){
        $(".searchclose").show();
    });
    $(".closebtn").click(function(){
        $(".searchclose").hide();
    });
});

四、 MySQL数据

connection.js:

var mysql=require("mysql");
var setting=require("./setting");
var connection;
var connectionmysql=function(){
    connection=mysql.createConnection({
        host:setting.host,
        port:setting.port,
        user:setting.user,
        password:setting.pwd,
        database:setting.base
    });
}
connectionmysql(); 
exports.select=function(str,callback){
    connectionmysql();  
    connection.query(str,function(err,res){
        if(err) throw err;
        callback(res);
        connection.end();  
    });
}   
exports.find=function(str,params,callback){
    connectionmysql();  
    connection.query(str,params,function(err,res){
        if(err) throw err;
        callback(res);
        connection.end();  
    });
}

sql.js:

module.exports={
    findTitle:"select * from nav",
    clickRank:"select id,title from blog order by num desc limit 7",
    recommendInfo:"select id,title,logo,recommend from blog where recommend=1 limit 8",
    likeBlog:"select blog.id,title,intro,logo,time,type.typeinfo,user.face from blog,type,user where blog.type=type.id and blog.face=user.id and title like ? order by time desc"
}

promise.js:

var mysql=require("../MySQL/connection");
var sql=require("../MySQL/sql");
module.exports={
    findTitle:function(){
        return new Promise(function(resolve){
            mysql.select(sql.findTitle,function(result){
                resolve(JSON.parse(JSON.stringify(result)));
            });
        })
    },
    clickRank:function(){
        return new Promise(function(resolve){
            mysql.select(sql.clickRank,function(result){
                resolve(JSON.parse(JSON.stringify(result)));
            });
        });
    },
    recommendInfo:function(){
        return new Promise(function(resolve){
            mysql.select(sql.recommendInfo,function(result){
                resolve(JSON.parse(JSON.stringify(result)));
            });
        });
    },
    likeBlog:function(msg){
        return new Promise(function(resolve){
            mysql.find(sql.likeBlog,msg,function(result){
                resolve(JSON.parse(JSON.stringify(result)));
            });
        });
    }
}

router.js:

var promise=require("../MySQL/promise");
var url=require("url");
module.exports=function(app){
    // 搜索框进行模糊查找
    app.get("/like",function(req,res){
        var likeurl=url.parse(req.url,true).query.link;
        async function getData(){
            var res1=await promise.findTitle();
            var res5=await promise.clickRank();
            var res11=await promise.recommendInfo();
            var res21=await promise.likeBlog("%"+likeurl+"%");
            var allres={
                titleindex:0,
                navres:res1,
                rankres:res5,
                recommendres:res11,
                blogres:res21
            }
            return allres;
        }
        getData().then(function(result){
            res.render("like",result);
        });
    });
}

注:like 路由中的blogres:res21和首页中的blogres:res10,所渲染到页面中的数据名称需一致,在此均为 blogres

五、效果展示

进行搜索:

Node如何实现搜索框进行模糊查询

搜索结果:

Node如何实现搜索框进行模糊查询

以上是“Node如何实现搜索框进行模糊查询”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节
推荐阅读:
  1. DataTables搜索框查询怎么实现结果高亮显示效果
  2. vue如何实现输入框使用模糊搜索功能

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

node
  • 上一篇新闻:
    Spring整合Mybatis的示例分析
  • 下一篇新闻:
    如何实现CmProcess跨进程通信

猜你喜欢

  • win10拖动亮度条没有反应怎么解决
  • matlab怎么读取图片数据点
  • linux怎么查看tomcat日志
  • 怎么用pycharm爬取数据
  • 怎么用python正则提取中间文本
  • win11亮度调节栏不见了怎么恢复
  • win11滑块无法调整亮度怎么办
  • matlab的imfinfo函数如何使用
  • python怎么提取txt中指定内容
  • PHP array函数怎么使用
最新资讯
  • 在Clojure中实现基础教育和在线学习资源的个性化推荐系统
  • 如何使用Clojure开发高效的能源交易和市场分析平台
  • 探索Clojure在智能广告投放和媒体购买优化中的潜力
  • Clojure如何在构建虚拟试衣间和时尚技术解决方案中被应用
  • 使用Clojure进行先进制造流程的模拟与分析
  • 在Clojure中实现专为艺术家和设计师开发的协作工具
  • 探讨如何利用Clojure进行海洋探索和海底地图绘制
  • Clojure在建立可扩展的科研实验数据管理系统中的应用
  • 使用Clojure开发支持多语言的全球化电商平台
  • 如何在Clojure中开发用于事件驱动架构的消息队列系统
相关推荐
  • vue实现Input输入框模糊查询方法
  • vue如何实现输入框的模糊查询
  • 详解jQuery如何实现模糊搜索
  • 如何实现vue搜索和vue模糊搜索
  • vue中input输入框如何实现模糊查询
  • Java怎样使用elasticsearch进行模糊查询
  • PHP如何实现模糊查询
  • php如何实现按天数、星期、月份查询的搜索框
  • PHP进行模糊查询的方法
  • MySQL中怎么实现模糊搜索

相关标签

namenode secondarynamenode node_exporter nodejs prometheus1-k8s-node nodemanger node.js inode datanode node modules node.js商城 nodetool linode nodejs开发 parentnode znode OneNode node-red nodelist Nodemailer
AI

深圳SEO优化公司衡阳网站搜索优化公司漯河百度网站优化排名哪家好石家庄建站多少钱商丘网站seo优化报价佛山网页设计报价马鞍山SEO按天收费推荐武汉网页制作推荐盐田seo排名黔西南seo排名昭通外贸网站设计塔城网站seo优化价格毕节网站关键词优化多少钱肇庆网站设计模板价格黔南百度网站优化排名报价宜宾关键词按天收费报价本溪seo网站优化多少钱铁岭网站优化按天收费推荐保定百姓网标王公司湖州SEO按天扣费多少钱贵港至尊标王哪家好梅州关键词排名包年推广公司大同建设网站多少钱南山网站推广方案报价石岩网站优化哪家好防城港百度竞价包年推广哪家好玉树关键词排名公司哈密高端网站设计多少钱鹤壁企业网站设计推荐大浪优化昌都百度seo哪家好歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化