How to output array elements to a template

go code:

func TakeToRepair(w http.ResponseWriter, rnd render.Render) { // rnd.HTML(200, "take_to_repair", nil) type Table_view struct { id string fam string name string lastname string phone string homeadres string numberud string lgotcat string fiovrach string inputdate string inputdate2 string numbernar string fioreg string comment string } var db *sql.DB var err error db, err = sql.Open("postgres", "postgres://postgres:099586741@192.168.0.10/postgres") if err != nil { log.Fatal(err) } if err = db.Ping(); err != nil { log.Fatal(err) } rows, err := db.Query("SELECT id, fam, name FROM journal_patient") bks := make([]*Table_view, 0) for rows.Next() { bk := new(Table_view) rows.Scan(&bk.id, &bk.fam, &bk.name) bks = append(bks, bk) } for _, bk := range bks { fmt.Println(bk.id, bk.fam, bk.name) } // var names []string // for rows.Next() { // var name string // names = append(names, name) // } rnd.HTML(200, "take_to_repair", bks) 

}

html template code

 <table class="table table-condensed"> <thead> <td>ID</td> <td>Дата записи</td> <td>Фамилия</td> <td>Имя</td> <td>Отчество</td> <td>Дата рождения</td> <td>№ телефона</td> <td>Адресс</td> <td>Тип льготы</td> <td>№ наряда</td> <td>Дата наряда</td> <td>Имя доктора</td> <td>Комментарий</td> <td>В очереди</td> </thead> <tr> {{range .}} <td> {{.id}} </td> {{end}} </tr> 

I am sending bks array to html template. How can I go through this array in the template and display the values?

  • Provide a minimal compiled example that demonstrates the question. - user227465
  • It is necessary that the template, between the tags <td> </ td>, put the data set from the array bks transmitted by respose rnd.HTML (200, "take_to_repair", bks) - Evgeny Gusev
  • if I use {{range $ key, $ value: =. }} <td> {{.Name}} </ td> {{end}} all values are displayed - Evgeny Gusev
  • You need a code that you can run on PlayGolang and see the behavior that is different from the expected. - user227465

1 answer 1

All figured out.

In the template in the required field, you can sort it out like this:

 <table class="table table-condensed"> <thead> <td>ID</td> <td>Дата записи</td> <td>Фамилия</td> <td>Имя</td> <td>Отчество</td> <td>Дата рождения</td> <td>№ телефона</td> <td>Адрес</td> <td>Тип льготы</td> <td>№ наряда</td> <td>Дата наряда</td> <td>Имя доктора</td> <td>Комментарий</td> <td>В очереди</td> </thead> {{ range $key, $value := . }} <tr> <td>{{$value.Id}}</td> <td></td> <td>{{$value.Fam}}</td> <td>{{$value.Name}}</td> <tr> </tr> {{end}} 

But it did not work out initially because I wrote a variable name with a small letter in the structure:

  type Table_view struct { Id string Fam string Name string lastname string phone string homeadres string numberud string lgotcat string fiovrach string inputdate string inputdate2 string numbernar string fioreg string comment string } 

Thanks to all