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


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插件的写法分享
Jun 12 Javascript
jquery对单选框,多选框,文本框等常见操作小结
Jan 08 Javascript
js手动播放图片实现图片轮播效果
Sep 17 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
Feb 05 Javascript
详解Vue 事件驱动和依赖追踪
Apr 22 Javascript
jsonp跨域获取数据的基础教程
Jul 01 Javascript
微信小程序 JS动态修改样式的实现方法
Dec 16 Javascript
详解easyui 切换主题皮肤
Apr 04 Javascript
ES6 class的应用实例分析
Jun 27 Javascript
JavaScript 实现轮播图特效的示例
Nov 05 Javascript
微信小程序向Java后台传输参数的方法实现
Dec 10 Javascript
Selenium执行JavaScript脚本的方法示例
Dec 31 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实现的下载css文件中的图片的代码
2010/02/08 PHP
过滤掉PHP数组中的重复值的实现代码
2011/07/17 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
2017/02/15 PHP
使用php自动备份数据库表的实现方法
2017/07/28 PHP
js常用函数 不错
2006/09/08 Javascript
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
Javascript注入技巧
2007/06/22 Javascript
JMenuTab简单使用说明
2008/03/13 Javascript
JavaScript日历实现代码
2010/09/12 Javascript
javascript测试题练习代码
2012/10/10 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
jQuery截取指定长度字符串的实现原理及代码
2014/07/01 Javascript
javascript自定义函数参数传递为字符串格式
2014/07/29 Javascript
node.js中的console.time方法使用说明
2014/12/09 Javascript
javascript操作字符串的原生方法
2014/12/22 Javascript
分享15个大家都熟知的jquery小技巧
2015/12/02 Javascript
jQuery 3.0十大新特性
2016/07/06 Javascript
JS 终止执行的实现方法
2016/11/24 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
2017/03/08 Javascript
详解webpack提取第三方库的正确姿势
2017/12/22 Javascript
详解vue 项目白屏解决方案
2018/10/31 Javascript
微信小程序实现顶部导航特效
2019/01/28 Javascript
Vue渲染过程浅析
2019/03/14 Javascript
jQuery实现图片随机切换、抽奖功能(实例代码)
2019/10/23 jQuery
如何配置vue.config.js 处理static文件夹下的静态文件
2020/06/19 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
python使用mysqldb连接数据库操作方法示例详解
2013/12/03 Python
Python实现包含min函数的栈
2016/04/29 Python
用Django写天气预报查询网站
2018/10/21 Python
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
兼职学生的自我评价
2013/11/24 职场文书
我的老师教学反思
2014/05/01 职场文书
驻村工作先进事迹
2014/08/14 职场文书
户外拓展训练感想
2015/08/07 职场文书
2016新教师岗前培训心得体会
2016/01/08 职场文书
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python