> 场景:前端POST传入一个字段或者多个字段,gin拿到后如何处理区分传入的是什么?然后去数据库查询,如果查找了就返回这个用户的所有数据,(能被查询的字段只有:name,order_id,phone)期望的结果如:
```
// 情况1
POST—>张三
Rturn—>name:张三,gender:男,age:32,order_id:123456,phone:13888888888
// 场景2
POST—>13888888888
Return—>name:张三,gender:男,age:32,order_id:123456,phone:13888888888
// 场景3
POST—>13888888888,654321
Return—>
name:张三,gender:男,age:32,order_id:123456,phone:13888888888
name:李四,gender:女,age:18,order_id:654321,phone:15555555555
// 场景4
POST—> N...
Return—> M...
```
### 数据库
有三张表`user`,`order`,`info`
#### user 主表
| id | name | gender | age |
| ------------| ------------ | ------------ | ------------ |
| 1 | 张三 | 男 | 32 |
| 2 | 李四 | 女 | 18 |
#### order 分表关联 user.id
| id | user_id | order_id |
| ------------ | ------------ | ------------ |
| 1 | 1 | 123456 |
| 2 | 2 | 654321 |
#### info 分表关联 user.id
| id | user_id | phone |
| ------------ | ------------ | ------------ |
| 1 | 1 | 13888888888 |
| 2 | 2 | 15555555555 |
### 前端
```html
<div class="search-box">
<form method="post" action="/">
<input type="text" class="search-txt" name="column" placeholder="查询" />
<button type="submit" class="search-btn fa fa-search" aria-hidden="true"></button>
</form>
</div>
```
### 后端
```go
func main() {
// 初始化数据库连接
config.NewDB()
// 创建 gin 引擎实例
router := gin.Default()
router.LoadHTMLFiles("./static/templates/index.html")
router.Static("/static", "./static/templates/css")
router.GET("/", func(c *gin.Context) {
c.HTML(http.StatusOK, "index.html", gin.H{})
})
router.POST("/", func(c *gin.Context) {
column := c.PostForm("column")
fmt.Println(column)
c.HTML(http.StatusOK, "index.html", gin.H{
"result": column,
})
})
// 启动服务
err := router.Run()
if err != nil {
return
}
}
```
有疑问加站长微信联系(非本文作者)