微信小程序开发搜索功能实现(前端+后端+数据库)


Posted in Javascript onMarch 04, 2020

2019年5月7日更新这是写的最新的一篇文章大家看这篇:https://3water.com/article/157081.htm

 界面比较丑,主要实现逻辑...

微信小程序开发搜索功能实现(前端+后端+数据库)

 超级简单的界面,表单,提交按钮,搜索结果展示区域...

下面是index.wxml

<!--index.wxml-->
<form bindsubmit="formSubmit">
<!--提交按钮 -->
<input type="text" name="id" placeholder='输入关键词' style='border:1px solid #ccc;height:30px;'/>
<button formType="submit" class="btn">搜索</button>  
</form>
<view>搜索结果</view>
<view wx:for="{{re}}" wx:key="re">
 <view style='color:#f00;'>{{item.result}}</view>
 <view style='color:green;'>{{item.title}}</view>
</view>

*跟前端差不多,form表单要加一个bindsubmit="formSubmit"

接着就是index.js

//index.js
//获取应用实例
const app = getApp()
Page({
 /**
  * 页面的初始数据
  */
 data: {
  result:'',
  state:''
 },
 formSubmit: function (e) {
  var that = this;
  var formData = e.detail.value.id; //获取表单所有name=id的值 
  wx.request({
   url: 'http://localhost/2018-5-24/search.php?id=' + formData,
   data: formData,
   header: { 'Content-Type': 'application/json' },
   success: function (res) {
    console.log(res.data)
    that.setData({
     re: res.data,
    })
    wx.showToast({
     title: '已提交',
     icon: 'success',
     duration: 2000
    })
   }
  })
 },
})
url: 'http://localhost/2018-5-24/search.php?id=' + formData,

这个很容易理解

var that = this;
var formData = e.detail.value.id;

先把表单name=id的值获得,然后赋给formData这个变量
然后,在url进行拼接,用+号拼接这个变量即可...

然后,提交到接口,后端进行处理即可,后端处理后返回json格式的数据,然后通过

that.setData({
  re: res.data,
 })

进行打印在控制台,你也可以渲染在index.wxml

为了方便大家研究,我把后端的php源码也贴出来。

search.php

<?php
header("Content-type:text/json;charset=utf8");
//定义参数
$id = $_GET["id"];
//表单验证
if(empty($id)){
  echo "[{\"result\":\"表单为空...\"}]";
}else{
  //连接数据库
  $con = mysql_connect("数据库链接","账号","密码");
  //设置数据库字符集 
  mysql_query("SET NAMES UTF8");
  //查询数据库
  mysql_select_db("数据库名", $con);
  $result = mysql_query("SELECT * FROM test WHERE id like '%$id%'");
  $results = array();
  while($row = mysql_fetch_assoc($result))
  {
    $results[] = $row;
    // 将数组转成json格式
    echo json_encode($results);
  }
  //关闭数据库连接
  mysql_close($con);
}
?>

*数据库表名为test,里面一共有两个字段,一个是id,一个是title

所以index.wxml里面有两个值

<view wx:for="{{re}}" wx:key="re">
 <view style='color:#f00;'>{{item.result}}</view>
 <view style='color:green;'>{{item.title}}</view>
</view>

wx:for="{{re}}"指的是循环数组,在js代码中,我们把所有服务端取得的数据,存进了re的数组

然后,{{item.result}}指的是服务端返回表单为空的结果。{{item.title}}返回的是搜索结果,这个结合你的数据库吧,你想展示什么结果,你就把title改成你数据库的相关字段。

微信小程序开发搜索功能实现(前端+后端+数据库)

到此这篇关于微信小程序开发搜索功能实现的文章就介绍到这了,更多相关小程序搜索功能内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
基于jQuery实现仿百度首页选项卡切换效果
May 29 Javascript
JavaScript获取当前url根目录(路径)
Jun 17 Javascript
深入理解javascript中的 “this”
Jan 17 Javascript
基于Vue实现图书管理功能
Oct 17 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
Dec 11 jQuery
jQuery中$原理实例分析
Aug 13 jQuery
如何提升vue.js中大型数据的性能
Jun 21 Javascript
JS实现水平遍历和嵌套递归操作示例
Aug 15 Javascript
Vue组件通信入门之Provide和Inject机制
Dec 29 Javascript
ES6实现图片切换特效代码
Jan 14 Javascript
原生JavaScript实现的无缝滚动功能详解
Jan 17 Javascript
jQuery中getJSON跨域原理的深入讲解
Sep 02 jQuery
微信小程序云函数添加数据到数据库的方法
Mar 04 #Javascript
jquery实现垂直手风琴菜单
Mar 04 #jQuery
JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别分析
Mar 04 #Javascript
微信浏览器左上角返回按钮监听的实现
Mar 04 #Javascript
js回调函数原理与用法案例分析
Mar 04 #Javascript
在pycharm中开发vue的方法步骤
Mar 04 #Javascript
Vue+Vuex实现自动登录的知识点详解
Mar 04 #Javascript
You might like
简单的php写入数据库类代码分享
2011/07/26 PHP
php字符串按照单词进行反转的方法
2015/03/14 PHP
ThinkPHP中数据操作案例分析
2015/09/27 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
PHP串行化与反串行化实例分析
2016/12/27 PHP
Dom 是什么的详细说明
2010/10/25 Javascript
High Performance JavaScript(高性能JavaScript)读书笔记分析
2011/05/05 Javascript
图片无缝滚动代码(向左/向下/向上)
2013/04/10 Javascript
JavaScript获取XML数据附示例截图
2014/03/05 Javascript
javascript修改图片src的方法
2015/01/27 Javascript
windows下安装nodejs及框架express
2015/08/07 NodeJs
第一次接触JS require.js模块化工具
2016/04/17 Javascript
jquery与ajax获取特殊字符实例详解
2017/01/08 Javascript
Angular2入门--架构总览
2017/03/29 Javascript
详解Vue路由开启keep-alive时的注意点
2017/06/20 Javascript
vue 2.0 购物车小球抛物线的示例代码
2018/02/01 Javascript
python解析发往本机的数据包示例 (解析数据包)
2014/01/16 Python
Python中用于检查英文字母大写的isupper()方法
2015/05/19 Python
Python网络编程中urllib2模块的用法总结
2016/07/12 Python
python3.6下Numpy库下载与安装图文教程
2019/04/02 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
通过python3实现投票功能代码实例
2019/09/26 Python
Python中输入和输出(打印)数据实例方法
2019/10/13 Python
python批量处理txt文件的实例代码
2020/01/13 Python
香港No.1得奖零食网:香港零食大王
2016/07/22 全球购物
ECCO爱步美国官网:来自丹麦的鞋履品牌
2016/11/23 全球购物
荷兰超市:DEEN
2018/03/14 全球购物
英国第一的滑雪服装和装备零售商:Snow+Rock
2020/02/01 全球购物
深圳-东方伟业笔试部分
2015/02/11 面试题
房地产管理毕业生自荐信
2013/11/04 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
领导班子民主生活会整改措施(工商局)
2014/09/21 职场文书
入党积极分子十八届四中全会思想汇报
2014/10/23 职场文书
淮阳太昊陵导游词
2015/02/10 职场文书
单位更名证明
2015/06/18 职场文书
排查Tomcat进程假死的问题
2022/05/06 Servers