Проблема с отображением результатов запроса в шаблоне - PullRequest
0 голосов
/ 25 сентября 2019

Я работаю над страницей, которая получит переменную из URL, выполнит запрос к базе данных mysql, получит результаты и отобразит их на странице.Я использую шаблоны здесь.Я следую некоторому руководству и получил большую часть этого, но я застрял в одном:

func dbConnection() (db *sql.DB) {
db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/dbname")
if err != nil {
    panic(err.Error())
}
return db
}

type Order struct {
   Order_id int
   Customer string
   Date_of_purchase string
}

И вот моя функция, которая должна получать данные и отображать шаблон:

func CustomerPage(w http.ResponseWriter, r *http.Request)  {
db := dbConnection()
//customer := r.URL.Query().Get("username")
query, err := db.Query("SELECT * FROM orders WHERE customer='David'")
if err != nil {
    panic(err.Error())
}
order := Order{}
results := []Order{}
for query.Next(){
    var order_id int
    var customer, date_of_purchase string
    query.Scan(&order_id, &customer, &date_of_purchase)
    order.Order_id = order_id
    order.Customer = customer
    order.Date_of_purchase = date_of_purchase
    results = append(results, order)
    fmt.Println(order_id)
    fmt.Println(customer)
}
fmt.Println(results)
temp, err := template.ParseFiles("templates/orders.html")
temp.Execute(w, results)
defer query.Close()
}

И, наконец, мой шаблон:

<h1>Hello</h1>
<h3>Your username is {{ .Customer }}</h3>
{{ range . }}
<h2> {{ .Order_id }}</h2>
{{ end }}

С отпечатками я вижу, что данные правильно выбираются так:

[{3485208 David 2019-06-03} {4448668 David 2019-03-10} {5727877 David 2019-08-23} {6979516 David 2019-03-04} {8277481 David 2019-02-07}]

У меня проблема в том, чтоотображение этих данных в шаблоне.Я получаю только жестко закодированный текст и никаких переменных.Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...