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






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

下面是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改成你数据库的相关字段。



友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信