ch4.8
This commit is contained in:
@@ -3,7 +3,6 @@ package main
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"html/template"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
@@ -15,20 +14,29 @@ func (app *application) home(w http.ResponseWriter, r *http.Request) {
|
|||||||
app.notFound(w)
|
app.notFound(w)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
files := []string{
|
|
||||||
"./ui/html/base.tmpl",
|
snippets, err := app.snippets.Latest()
|
||||||
"./ui/html/partials/nav.tmpl",
|
|
||||||
"./ui/html/pages/home.tmpl",
|
|
||||||
}
|
|
||||||
ts, err := template.ParseFiles(files...)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
app.serverError(w, err)
|
app.serverError(w, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
err = ts.ExecuteTemplate(w, "base", nil)
|
for _, snippet := range snippets {
|
||||||
if err != nil {
|
fmt.Fprintf(w, "%+v\n", snippet)
|
||||||
app.serverError(w, err)
|
|
||||||
}
|
}
|
||||||
|
// files := []string{
|
||||||
|
// "./ui/html/base.tmpl",
|
||||||
|
// "./ui/html/partials/nav.tmpl",
|
||||||
|
// "./ui/html/pages/home.tmpl",
|
||||||
|
// }
|
||||||
|
// ts, err := template.ParseFiles(files...)
|
||||||
|
// if err != nil {
|
||||||
|
// app.serverError(w, err)
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
// err = ts.ExecuteTemplate(w, "base", nil)
|
||||||
|
// if err != nil {
|
||||||
|
// app.serverError(w, err)
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
func (app *application) snippetView(w http.ResponseWriter, r *http.Request) {
|
func (app *application) snippetView(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|||||||
@@ -50,5 +50,25 @@ func (m *SnippetModel) Get(id int) (*Snippet, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (m *SnippetModel) Latest() ([]*Snippet, error) {
|
func (m *SnippetModel) Latest() ([]*Snippet, error) {
|
||||||
return nil, nil
|
stmt := `SELECT id, title, content, created, expires FROM snippets
|
||||||
|
WHERE expires > UTC_TIMESTAMP() ORDER BY id DESC LIMIT 10`
|
||||||
|
|
||||||
|
rows, err := m.DB.Query(stmt)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
defer rows.Close()
|
||||||
|
snippets := []*Snippet{}
|
||||||
|
for rows.Next() {
|
||||||
|
s := &Snippet{}
|
||||||
|
err = rows.Scan(&s.ID, &s.Title, &s.Content, &s.Created, &s.Expires)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
snippets = append(snippets, s)
|
||||||
|
}
|
||||||
|
if err = rows.Err(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return snippets, nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user