LINUX.ORG.RU

func TakeToRepair(w http.ResponseWriter, rnd render.Render) {
	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:099@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)
	}
}


Так я могу вывести запрос в консоль, но как вывести его в html
farex
() автор топика
Последнее исправление: farex (всего исправлений: 1)
Ответ на: комментарий от farex

ебать ну загугли golang web framework examples,golang template, ты хоть понимаешь что ты НЕ НА ПИТОНЕ ВЫВОДИЛ а библиотеку использовал, найди такую библиотеку для го и используй. вывод в хтмл и вывод в консоль это одно и то же, только в первом случае консоль слоушает хттп сервер и вывод в нее идет по опр. формату - хттп

print «„„Content-type: text/html;\r\n\r\n<html><body><h1>${MOYA_OCHERED_DRISNYA}</body></html>““»

anonymous
()
Ответ на: комментарий от farex

но судя по твоей тугости - $ 50 загуглю за тебя

anonymous
()
Ответ на: комментарий от farex

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

anonymous
()
Ответ на: комментарий от farex

А вы свою работу ретранслируете на форум. Вы либо как технарь пишите, что у вас конкретно не получается, либо в Jobs идите. Все верно.

BigAlex ★★★
()
Ответ на: комментарий от BigAlex

есть template в котором есть таблица:

<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>
					<td>

					</td>
            </tr>
</table>
</div>
Как в <td></td> уже готового шаблона вывести данные?
В консоль вывести не проблема
	for _, bk := range bks {
		fmt.Println(bk.id, bk.fam, bk.name)
	}
А вот как вывести в готовый html шаблон с уже имеющейся в нем таблицей, не могу разобраться.

farex
() автор топика
Последнее исправление: farex (всего исправлений: 2)
Ответ на: комментарий от BigAlex

и да, это не работа, пишу не за деньги, дабы помочь больнице...
основной язык на котором пишу C# и С++
с вебом не так давно... по сравнению с «десктоп» программированием тут много для меня не понятно.

farex
() автор топика
Последнее исправление: farex (всего исправлений: 1)
Ответ на: комментарий от farex

Тебе просто нужно взять учебник и учить все с самого начала: что такое хттп, как оно работает. Как передаются данные. Потом паттерны: mvc и так далее. Потом тебе надо учить го. Тебе передается http.ResponseWriter. Как ты думаешь, что делает ResponseWriter? У ResponseWriter есть метод Write([]byte data) https://golang.org/pkg/net/http/#ResponseWriter

Составляй строку со своим шаблоном.

template := "<h1>%s</h1><h2>%s</h2>"
templateWithData := fmt.Sprintf(template, someVar1, someVar2)

w.Write([]byte(templateWithData))

nikolnik ★★★
()
Ответ на: комментарий от nikolnik

Rendering a HTML Template

File: templates/index.html
<h1>Hello {{ .Name }}</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
File: main.go
package main

import (
  "html/template"
  "net/http"
  "path"
)

type Profile struct {
  Name    string
  Hobbies []string
}

func main() {
  http.HandleFunc("/", foo)
  http.ListenAndServe(":3000", nil)
}

func foo(w http.ResponseWriter, r *http.Request) {
  profile := Profile{"Alex", []string{"snowboarding", "programming"}}

  fp := path.Join("templates", "index.html")
  tmpl, err := template.ParseFiles(fp)
  if err != nil {
    http.Error(w, err.Error(), http.StatusInternalServerError)
    return
  }

  if err := tmpl.Execute(w, profile); err != nil {
    http.Error(w, err.Error(), http.StatusInternalServerError)
  }
}
Вот нашел хороший пример, того что мне было нужно...
>>Возьми ASP.NET Core и лучше пиши на нем. Серьезно, раз знаешь шарп хоть немного.
С ним уже почти 10 лет, больше не хочу. Всем спасибо за помощь.

farex
() автор топика
Последнее исправление: farex (всего исправлений: 2)
Ответ на: комментарий от farex

школьник это ты, долбодятел, 10 лет формошлепил а интерполяцию строк не осилил? шаблон он не понимает как вывести, вон из профессии! лучше пусть больница будет безнихуя чем с твоей помощью, серьезно.

anonymous
()
Ответ на: комментарий от nikolnik

Все разобрался.

В шаблоне в необходимом поле перебрать можно вот так:

<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}}
А не получалось изначально потому что я в структуре название переменных с маленькой буквы писал:
    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
}
Переписал первые элементы Id Fam Name
и все, в шаблоне все определилось
Не знаю, это поведение martini такое, или какое то ограничение Golang
Всем спасибо
PS: Не смог сформулировать правильно вопрос изначально, вот и вызвал кучу анонимнусов)

farex
() автор топика
Последнее исправление: farex (всего исправлений: 2)
Ответ на: комментарий от farex

Переменные - это переменные, а у структур - поля. Ты серьезно не можешь потратить 20 минут, чтобы прочитать https://tour.golang.org/welcome/1 , после чего ты будешь ознакомлен с 95% синтаксиса го?

или какое то ограничение Golang

Именно оно и есть, потому, что все, что с заглавного символа начинается в го - это public, а в нижнем регистре - private. А еще в го не принято использовать snake_case, так, что удали нижнее подчеркивание в названии структуры. А еще объявление полей одинакого типа можно сократить до

type PersonViewModel struct {
 Name, Surname, City string
}

nikolnik ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.