Я хочу получить сеанс данных и заголовок, но он находится вне цикла при извлечении данных из базы данных - PullRequest
0 голосов
/ 27 июня 2019

Я взял все данные из базы данных, затем данные в цикле.Помимо зацикливания, я хочу вставить другие данные, такие как Session и Title.Затем я помещаю его в шаблон.

У меня есть предположение об использовании struct или slice, но я не могу найти решение после изучения этого.

type Sekolah struct {
  Id int
  Nama string
  Alamat string
  Telp string 
}

У меня есть структура, подобнаявыше, затем я делаю функцию дескриптора

http.HandleFunc("/sekolah", func(w http.ResponseWriter, r *http.Request) {

//THIS IS THE DATA I WANT TO SERVE IN TEMPLATE
var title := "Some Title"
var session := "MySession"

    db, errdb := sql.Open("postgres", koneksi)
    if errdb != nil {
        fmt.Println(errdb)
    }

    rows, err := db.Query("SELECT id, nama, alamat, telp FROM public.m_sekolah")
    if err != nil {
        fmt.Println(err)
        http.Error(w, "there was an error", http.StatusInternalServerError)
        return
    }

    var id int
    var nama string
    var alamat string
    var telp string
    var sk []Sekolah

    for rows.Next(){
        err = rows.Scan(&id, &nama, &alamat, &telp)
        if err != nil {
            fmt.Println(err)
            http.Error(w, "There was an error", http.StatusInternalServerError)
            return
        }

        sk = append(sk, Sekolah{Id: id, Nama: nama, Alamat: alamat, Telp: telp})
    }

    err = tmpl.ExecuteTemplate(w, "data_sekolah", sk)
    if err != nil {
        fmt.Println(err)
    }
})

Я хочу ввести данные заголовка и сеанса в данные SK, но не участвую в цикле, затем я хочу вставить их в шаблон.Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 28 июня 2019

Поместите все свои данные в карту и передайте карту в шаблон. Как то так.

datamap := make(map[string]interface{})
datamap["title"] = <your title>
datamap["session"] = <your session>
datamap["sk"] = <your sk array>

Затем в шаблоне получите доступ к таким полям.

<p>{{.title}}</p>
<p>{{.session}}</p>
{{range .sk}}
<p>{{.Nama}}</p>
{{end}}

Примечание. Этот код не проверен, но я решил вашу проблему с моим предыдущим проектом. Приветствия

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