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

网友投稿 383 2023-11-07

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

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

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

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

下面是index.wxml

?
1
2
3
4
5
6
7
8
9
10
11
<!--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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//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
})
}
})
},
})

这个很容易理解

?
1
2
var that = this;
var formData = e.detail.value.id;

先把表单name=id的值获得,然后赋给formData这个变量

然后,在url进行拼接,用+号拼接这个变量即可...

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

?
1
2
3
that.setData({
re: res.data,
})

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

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

search.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?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里面有两个值

?
1
2
3
4
<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改成你数据库的相关字段。

您可能感兴趣的文章:微信小程序搜索组件wxSearch实例详解微信小程序实现全局搜索代码高亮的示例微信小程序下拉框搜索功能的实现方法小程序实现搜索框功能微信小程序实现搜索历史功能小程序实现搜索框微信小程序 搜索框组件代码实例小程序获取当前位置加搜索附近热门小区及商区的方法微信小程序城市选择及搜索功能的方法微信小程序搜索功能(附:小程序前端+PHP后端)微信小程序 可搜索的地址选择实现详解微信小程序实现搜索指定景点周边美食、酒店

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微信小程序+云开发实现欢迎登录注册
下一篇:深圳深腾微法院小程序上线:在线庭审
相关文章

 发表评论

暂时没有评论,来抢沙发吧~