У меня есть страница, где я получаю переменную из URL и использую ее для извлечения некоторых данных из базы данных. Затем я передаю данные в шаблон и отображаю результаты. То, что я хочу сделать, это передать переменную И данные в шаблон. В моем коде у меня есть следующее:
type Username struct {
Username string
}
type Order struct {
Order_id int
Customer string
Date_of_purchase string
}
func OrderPage(w http.ResponseWriter, r *http.Request) {
db := dbConnection()
username := r.URL.Query().Get("username")
query, err := db.Query("SELECT * FROM orders WHERE customer=?", username)
if err != nil {
panic(err.Error())
}
defer query.Close()
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(results)
temp.ExecuteTemplate(w, "user.html", results)
}
Я не уверен, как передать username := r.URL.Query().Get("username")
, чтобы позже я мог получить к нему доступ из шаблона:
<body>
<h2>Hello!</h2>
<h4>Here's a list of your orders with us:</h4>
<ul>
{{ range . }}
<li><a href="product?order={{ .Order_id }}">{{ .Order_id }}</a></li>
{{ end }}
</ul>
</body>
ЯЯ все еще учусь этому, поэтому я даже не знаю, как к этому подойти. Могу ли я сделать что-то подобное и как получить доступ к переменной и данным в шаблоне?