微信小程序開發(fā)搜索功能實(shí)現(xiàn)(前端+后端+數(shù)據(jù)庫(kù))
2019年5月7日更新這是寫的最新的一篇文章大家看這篇:http://www.dhdzp.com/article/157081.htm
界面比較丑,主要實(shí)現(xiàn)邏輯...

超級(jí)簡(jiǎn)單的界面,表單,提交按鈕,搜索結(jié)果展示區(qū)域...
下面是index.wxml
<!--index.wxml-->
<form bindsubmit="formSubmit">
<!--提交按鈕 -->
<input type="text" name="id" placeholder='輸入關(guān)鍵詞' style='border:1px solid #ccc;height:30px;'/>
<button formType="submit" class="btn">搜索</button>
</form>
<view>搜索結(jié)果</view>
<view wx:for="{{re}}" wx:key="re">
<view style='color:#f00;'>{{item.result}}</view>
<view style='color:green;'>{{item.title}}</view>
</view>
*跟前端差不多,form表單要加一個(gè)bindsubmit="formSubmit"
接著就是index.js
//index.js
//獲取應(yīng)用實(shí)例
const app = getApp()
Page({
/**
* 頁(yè)面的初始數(shù)據(jù)
*/
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,
這個(gè)很容易理解
var that = this; var formData = e.detail.value.id;
先把表單name=id的值獲得,然后賦給formData這個(gè)變量
然后,在url進(jìn)行拼接,用+號(hào)拼接這個(gè)變量即可...
然后,提交到接口,后端進(jìn)行處理即可,后端處理后返回json格式的數(shù)據(jù),然后通過
that.setData({
re: res.data,
})
進(jìn)行打印在控制臺(tái),你也可以渲染在index.wxml
為了方便大家研究,我把后端的php源碼也貼出來。
search.php
<?php
header("Content-type:text/json;charset=utf8");
//定義參數(shù)
$id = $_GET["id"];
//表單驗(yàn)證
if(empty($id)){
echo "[{\"result\":\"表單為空...\"}]";
}else{
//連接數(shù)據(jù)庫(kù)
$con = mysql_connect("數(shù)據(jù)庫(kù)鏈接","賬號(hào)","密碼");
//設(shè)置數(shù)據(jù)庫(kù)字符集
mysql_query("SET NAMES UTF8");
//查詢數(shù)據(jù)庫(kù)
mysql_select_db("數(shù)據(jù)庫(kù)名", $con);
$result = mysql_query("SELECT * FROM test WHERE id like '%$id%'");
$results = array();
while($row = mysql_fetch_assoc($result))
{
$results[] = $row;
// 將數(shù)組轉(zhuǎn)成json格式
echo json_encode($results);
}
//關(guān)閉數(shù)據(jù)庫(kù)連接
mysql_close($con);
}
?>
*數(shù)據(jù)庫(kù)表名為test,里面一共有兩個(gè)字段,一個(gè)是id,一個(gè)是title
所以index.wxml里面有兩個(gè)值
<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}}"指的是循環(huán)數(shù)組,在js代碼中,我們把所有服務(wù)端取得的數(shù)據(jù),存進(jìn)了re的數(shù)組
然后,{{item.result}}指的是服務(wù)端返回表單為空的結(jié)果。{{item.title}}返回的是搜索結(jié)果,這個(gè)結(jié)合你的數(shù)據(jù)庫(kù)吧,你想展示什么結(jié)果,你就把title改成你數(shù)據(jù)庫(kù)的相關(guān)字段。

到此這篇關(guān)于微信小程序開發(fā)搜索功能實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)小程序搜索功能內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript執(zhí)行上下文、變量對(duì)象實(shí)例分析
這篇文章主要介紹了javascript執(zhí)行上下文、變量對(duì)象,結(jié)合實(shí)例形式分析了javascript執(zhí)行上下文、變量對(duì)象相關(guān)概念、原理、用法與操作注意事項(xiàng),需要的朋友可以參考下2020-04-04
javascript實(shí)現(xiàn)的多個(gè)層切換效果通用函數(shù)實(shí)例
這篇文章主要介紹了javascript實(shí)現(xiàn)的多個(gè)層切換效果通用函數(shù),涉及javascript針對(duì)頁(yè)面元素樣式的遍歷與操作技巧,需要的朋友可以參考下2015-07-07
js 禁止選擇功能實(shí)現(xiàn)代碼(兼容IE/Firefox)
有時(shí)候出于某種需要,不希望用戶可以選擇某個(gè)區(qū)域,進(jìn)行下面的操作,這里給出簡(jiǎn)單的代碼。2010-04-04
在一個(gè)js文件里遠(yuǎn)程調(diào)用jquery.js會(huì)在ie8下的一個(gè)奇怪問題
這樣的腳本你在ie8下調(diào)用,在ie8地址欄下按下回車后調(diào)用jquery的對(duì)像、方法什么的沒有問題,但是刷新之后就有問題。就是刷新之后無論怎樣你要在地址欄按一下回車。2010-11-11

