diff options
| author | jan <jan@ruken.pw> | 2015-12-30 15:10:35 (UTC) |
|---|---|---|
| committer | jan <jan@ruken.pw> | 2015-12-30 15:10:35 (UTC) |
| commit | bcab80f3e81b3aea7b1a6e84b39838bd19402975 (patch) | |
| tree | 5ba8fb024fde49f203863b57724158ed4171ff99 /modules/search | |
| parent | 836099557e2327813668d50d5abb73ac43ad212d (diff) | |
nur noch eine datenbankabfrage. results sehen jetzt ziemlich leer aus, muss bestimmt mal neu gestaltet werden.
Diffstat (limited to 'modules/search')
| -rw-r--r-- | modules/search/search.go | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/modules/search/search.go b/modules/search/search.go index da6d126..a614c08 100644 --- a/modules/search/search.go +++ b/modules/search/search.go | |||
| @@ -16,6 +16,12 @@ type Module struct { | |||
| 16 | grils *grils.GrilsModule | 16 | grils *grils.GrilsModule |
| 17 | } | 17 | } |
| 18 | 18 | ||
| 19 | type GrilResult struct { | ||
| 20 | ID int | ||
| 21 | ImagePath string | ||
| 22 | Name string | ||
| 23 | } | ||
| 24 | |||
| 19 | func New() *Module { | 25 | func New() *Module { |
| 20 | return &Module{} | 26 | return &Module{} |
| 21 | } | 27 | } |
| @@ -50,7 +56,7 @@ func (m *Module) instantSearchGril(w http.ResponseWriter, r *http.Request, p htt | |||
| 50 | return | 56 | return |
| 51 | } | 57 | } |
| 52 | 58 | ||
| 53 | rows, err := m.g.DB.Query(`SELECT id FROM grilist.search_grils($1)`, name) | 59 | rows, err := m.g.DB.Query(`SELECT id, name FROM grilist.search_grils($1)`, name) |
| 54 | if err != nil { | 60 | if err != nil { |
| 55 | log.Println("error in instant gril search:", err) | 61 | log.Println("error in instant gril search:", err) |
| 56 | return | 62 | return |
| @@ -58,24 +64,19 @@ func (m *Module) instantSearchGril(w http.ResponseWriter, r *http.Request, p htt | |||
| 58 | 64 | ||
| 59 | defer rows.Close() | 65 | defer rows.Close() |
| 60 | 66 | ||
| 61 | var ids []int | 67 | var results []GrilResult |
| 62 | for rows.Next() { | 68 | for rows.Next() { |
| 63 | var id int | 69 | result := GrilResult{} |
| 64 | if err := rows.Scan(&id); err != nil { | 70 | if err := rows.Scan(&result.ID, &result.Name); err != nil { |
| 65 | log.Println("error scanning in instant gril search", err) | 71 | log.Println("error scanning in instant gril search", err) |
| 66 | continue | 72 | continue |
| 67 | } | 73 | } |
| 68 | 74 | ||
| 69 | ids = append(ids, id) | 75 | result.ImagePath = grils.ImagePath(result.ID, true) |
| 70 | } | 76 | results = append(results, result) |
| 71 | |||
| 72 | grils, err := m.grils.FromIDs(ids) | ||
| 73 | if err != nil { | ||
| 74 | log.Println("error acquiring instant grils:", err) | ||
| 75 | return | ||
| 76 | } | 77 | } |
| 77 | 78 | ||
| 78 | data := make(map[string]interface{}) | 79 | data := make(map[string]interface{}) |
| 79 | data["results"] = grils | 80 | data["results"] = results |
| 80 | m.g.Renderer.RenderPage("instant_search_results", w, data) | 81 | m.g.Renderer.RenderPage("instant_search_results", w, data) |
| 81 | } | 82 | } |
