返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Node实现搜索框进行模糊查询
  • 212
分享到

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

2024-04-02 19:04:59 212人浏览 八月长安
摘要

本文实例为大家分享了node实现搜索框进行模糊查询的具体代码,供大家参考,具体内容如下 一、需求 点击导航栏中的搜索图,出现搜索框,从而进行文章的模糊查询 二、建表 1.blog表

本文实例为大家分享了node实现搜索框进行模糊查询的具体代码,供大家参考,具体内容如下

一、需求

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

二、建表

1.blog表

添加外键:

2.nav表

3.type表

4.user表

三、页面及样式

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

五、效果展示

进行搜索:

搜索结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Node实现搜索框进行模糊查询

本文链接: https://lsjlt.com/news/129295.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Node实现搜索框进行模糊查询
    本文实例为大家分享了Node实现搜索框进行模糊查询的具体代码,供大家参考,具体内容如下 一、需求 点击导航栏中的搜索图,出现搜索框,从而进行文章的模糊查询 二、建表 1.blog表 ...
    99+
    2024-04-02
  • Oracle怎么进行模糊搜索
    在Oracle中进行模糊搜索可以使用LIKE和%通配符来实现。例如,如果想要搜索包含特定字符串的记录,可以使用以下语法: SELEC...
    99+
    2024-04-09
    Oracle
  • thinkphp如何进行模糊查询
    这篇文章主要讲解了“thinkphp如何进行模糊查询”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“thinkphp如何进行模糊查询”吧!首先,在ThinkPHP中,我们可以通过Db类来操作数...
    99+
    2023-07-06
  • 如何实现vue搜索和vue模糊搜索
    小编给大家分享一下如何实现vue搜索和vue模糊搜索,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、使用vue来实现一般搜索&...
    99+
    2024-04-02
  • Python实现json对值进行模糊搜索的示例详解
    目录思路数据解法一解法二代码实现结果我经常使用json进行存储配置,于是常常遇到这样的问题:如果想要对某个数组里的值进行模糊搜索,同时输出相关的其他数组相同位置的的值该如何实现呢? ...
    99+
    2023-01-29
    Python json值模糊搜索 Python  值模糊搜索 Python 模糊搜索
  • PHP进行模糊查询的方法
    这篇文章主要介绍了PHP进行模糊查询的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。模糊查询的方法:1、使用SQL匹配模式,操作符使用“LIKE”或“NOT LIKE”,...
    99+
    2023-06-14
  • MyBatis实现模糊查询
    1.第一种方式 第一种方式:在java程序中,把like的内容组装好,把这个内容传入到sql语句 我们先在dao接口中定义一个方法 /ke的第一种方式List selectLikeOne(@Param("name") S...
    99+
    2023-10-20
    mybatis java mysql Powered by 金山文档
  • MySQL中怎么实现模糊搜索
    本篇文章给大家分享的是有关MySQL中怎么实现模糊搜索,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。01 引言MySQL根据不同的应用场景,支...
    99+
    2024-04-02
  • 小程序模实现糊搜索功能
    本文实例为大家分享了小程序模实现糊搜索功能的具体代码,供大家参考,具体内容如下 1.写好页面布局 <!--搜索--> <view class="searchbox"...
    99+
    2024-04-02
  • PHP如何实现模糊搜索功能
    在PHP中实现模糊搜索功能是一项常见的需求,特别是在开发网站或应用程序中涉及到搜索功能时。模糊搜索可以帮助用户更快速准确地找到他们需要的信息。下面将介绍如何在PHP中实现模糊搜索功能,...
    99+
    2024-03-06
    php 实现 模糊搜索 sql语句
  • vue中input输入框如何实现模糊查询
    这篇文章给大家分享的是有关vue中input输入框如何实现模糊查询的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Vue 模糊查询功能原理:原生js的search() 方法,用于检...
    99+
    2024-04-02
  • Vue如何实现模糊查询
    这篇文章主要介绍Vue如何实现模糊查询,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Vue实现模糊查询通过watch和computed实现Vue实现模糊查询计算方法能实现的侦听方法也能够实现,但推荐使用计算方法,应为...
    99+
    2023-06-20
  • mybatis模糊查询怎么实现
    MyBatis模糊查询可以通过使用 `%` 或 `_` 来实现。`%` 表示任意多个字符(包括0个字符),`_` 表示任意一个字符。...
    99+
    2023-09-05
    mybatis
  • Python 代码实现模糊查询
    最近在做一个django项目,里面有一个字典数据非常大,虽然已经做了分页处理。但是用户想要找到指定的数据,还得一页页翻,非常繁琐。字典的结构如下:file_list = [     ...
    99+
    2023-01-31
    模糊 代码 Python
  • mongodb模糊查询怎么实现
    在MongoDB中,可以使用正则表达式来实现模糊查询。以下是一个示例: 假设有一个名为“users”的集合,其中包含了一个名为“us...
    99+
    2024-04-03
    mongodb
  • PHP 中基于 Elasticsearch 的模糊搜索与语义搜索实现
    在现代互联网环境下,搜索功能已经成为了各种应用的必备功能之一。传统的模糊搜索往往只能按照关键字进行简单的匹配,而缺乏了对用户意图的理解。而语义搜索则可以更好地抓住用户的意图,从而提供更加精确的搜索结果。在本文中,我们将介绍如何在 PHP 中...
    99+
    2023-10-21
    elasticsearch 模糊搜索 语义搜索
  • 使用Springboot注解形式进行模糊查询
    Springboot注解形式进行模糊查询 需求: 功能需要按照商户名字做模糊查询,sql我们项目中使用的是mybatis封装好的一些常见增删改查方法(通用sql需要在pom.xml文...
    99+
    2024-04-02
  • PHP中怎么对数组进行模糊查询
    这篇文章主要介绍“PHP中怎么对数组进行模糊查询”,在日常操作中,相信很多人在PHP中怎么对数组进行模糊查询问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP中怎么对数组进行模糊查询”的疑惑有所帮助!接下来...
    99+
    2023-07-06
  • react+antdselect下拉框实现模糊搜索匹配的示例代码
    我们在开发过程中,经常会出现下拉框数据很多得情况,这个时候客户一个个得找就很浪费时间,那该怎么办呢? 我们可以实现一边输入一遍模糊匹配。 实现后的效果是 具体代码实现请看下面: ...
    99+
    2023-01-31
    react antd select模糊搜索 react antd select下拉框
  • MYSQL模糊查询优化(使用全文索引进行左右模糊查询) match() against ()的简单使用以及介绍
    前言: 在编写sql语句时难免会遇到需要使用 '%xx%' 的场景,但是 '%xx' 会导致索引失效,在数据量比较大的时候会严重影响性能。全文搜索使用match() against ()语法进行,使用该方法可以有效解决上述问题,即在使用索引...
    99+
    2023-09-01
    数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作