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


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获取各种宽度、高度(format函数)实例
Mar 04 Javascript
JavaScript中的noscript元素属性位置及作用介绍
Apr 11 Javascript
使用jQuery判断IE浏览器版本的代码
Jun 14 Javascript
js文件包含的几种方式介绍
Sep 28 Javascript
canvas实现十二星座星空图
Feb 14 Javascript
bootstrap fileinput 插件使用项目总结(经验)
Feb 22 Javascript
node.js中实现kindEditor图片上传功能的方法教程
Apr 26 Javascript
vue中引入mxGraph的步骤详解
May 17 Javascript
vue-cli 为项目设置别名的方法
Oct 15 Javascript
vue+elementui 对话框取消 表单验证重置示例
Oct 29 Javascript
vue表单数据交互提交演示教程
Nov 13 Javascript
uniapp引入支付宝原生扫码插件步骤详解
Jul 23 Javascript
微信小程序云函数添加数据到数据库的方法
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图片等比例缩放生成缩略图函数分享
2014/06/10 PHP
php实现的验证码文件类实例
2015/06/18 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
php使用Swoole实现毫秒级定时任务的方法
2020/09/04 PHP
新闻内页-JS分页
2006/06/07 Javascript
js整数字符串转换为金额类型数据(示例代码)
2013/12/26 Javascript
js实现使用鼠标拖拽切换图片的方法
2015/05/04 Javascript
JavaScript对象学习小结
2015/09/02 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
2016/11/09 Javascript
Jquery Easyui表单组件Form使用详解(30)
2016/12/19 Javascript
微信小程序云开发如何实现数据库自动备份实现
2019/08/16 Javascript
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
[52:26]完美世界DOTA2联赛决赛 FTD vs Phoenix 第一场 11.08
2020/11/11 DOTA
win7上python2.7连接mysql数据库的方法
2017/01/14 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
浅谈Python基础—判断和循环
2019/03/22 Python
详解Django admin高级用法
2019/11/06 Python
Python实现ElGamal加密算法的示例代码
2020/06/19 Python
python 深度学习中的4种激活函数
2020/09/18 Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
2021/01/11 Python
利用CSS3参考手册和CSS3代码生成工具加速来学习网页制
2012/07/11 HTML / CSS
CSS+jQuery+PHP+MySQL实现的在线答题功能
2015/04/25 HTML / CSS
英国女性时尚品牌:Apricot
2018/12/04 全球购物
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
商场拾金不昧表扬信
2014/01/13 职场文书
四年级下册教学反思
2014/02/01 职场文书
《威尼斯的小艇》教学反思
2014/02/17 职场文书
运动会入场式解说词
2014/02/18 职场文书
安全宣传标语口号
2014/06/06 职场文书
公司应聘求职信
2014/06/21 职场文书
大学毕业典礼演讲稿
2014/09/09 职场文书
大学生求职自荐信范文
2015/03/04 职场文书
2016七夕情人节寄语
2015/12/04 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书
MySQL大小写敏感的注意事项
2021/05/24 MySQL