微信 程序 開發 搜索 功能 前端 後端 數據庫 欄目 SQL 简体版
原文   原文鏈接

界面比較醜,主要實現邏輯...php

clipboard.png

超級簡單的界面,表單,提交按鈕,搜索結果展現區域...前端

下面是index.wxmlmysql

<!--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"sql

接着就是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

而後,提交到接口,後端進行處理便可,後端處理後返回json格式的數據,而後經過後端

that.setData({
    re: res.data,
  })

進行打印在控制檯,你也能夠渲染在index.wxml數組

爲了方便你們研究,我把後端的php源碼也貼出來。app

search.phpfetch

<?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改爲你數據庫的相關字段。

clipboard.png

做者:TANKING

相關文章
相關標籤/搜索
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。
本站公眾號
   歡迎關注本站公眾號,獲取更多信息