diff --git a/internal/database/connect.go b/internal/database/connect.go
index bd7b279..2ced491 100644
--- a/internal/database/connect.go
+++ b/internal/database/connect.go
)
func Connect() (*sql.DB, error) {
- db, err := sql.Open("mysql", "root:@/tyoharjoittelu")
+ db, err := sql.Open("mysql", "root:@/uutissivusto")
if err != nil {
return nil, err
}
- defer db.Close()
err = db.Ping()
if err != nil {
diff --git a/internal/database/queries.go b/internal/database/queries.go
new file mode 100644
index 0000000..3f1abb9
--- /dev/null
+++ b/internal/database/queries.go
+package database
+
+import (
+ "database/sql"
+
+ _ "github.com/go-sql-driver/mysql"
+)
+
+type Article struct {
+ Id int
+ Otsikko string
+ Teksti string
+ Kuva string
+ Kategoria string
+}
+
+func GetArticles(db *sql.DB) ([]Article, error) {
+ rows, err := db.Query("SELECT * FROM uutinen")
+ if err != nil {
+ return nil, err
+ }
+ articles := []Article{}
+
+ for rows.Next() {
+ article := Article{}
+ if err := rows.Scan(&article.Id, &article.Otsikko, &article.Teksti, &article.Kuva, &article.Kategoria); err != nil {
+ return nil, err
+ }
+ articles = append(articles, article)
+ }
+
+ return articles, nil
+}
diff --git a/main.go b/main.go
index 2f93c15..3533897 100644
--- a/main.go
+++ b/main.go
package main
import (
- "net/http"
"uutissivusto/internal/database"
"github.com/gin-gonic/gin"
)
func main() {
- _, err := database.Connect()
+ db, err := database.Connect()
if err != nil {
panic(err.Error())
}
+ defer db.Close()
router := gin.Default()
router.LoadHTMLGlob("templates/*")
- router.GET("/kisu", func(c *gin.Context) {
- c.HTML(http.StatusOK, "index.tmpl", gin.H{
- "kuva": "https://cataas.com/cat/fQCYUQNMnhPBN4jb?position=center",
+
+ router.GET("/", func(c *gin.Context) {
+ articles, err := database.GetArticles(db)
+ if err != nil {
+ c.JSON(500, gin.H{"error": err.Error()})
+ return
+ }
+
+ c.HTML(200, "index.tmpl", gin.H{
+ "Articles": articles,
})
})
+
router.Run()
+
}
diff --git a/templates/index.tmpl b/templates/index.tmpl
index 7a77291..80435be 100644
--- a/templates/index.tmpl
+++ b/templates/index.tmpl
<html>
- <img src="{{ .kuva}}" />
+ {{range .Articles}}
+ {{ .Otsikko }}<br />
+ {{end}}
</html>
\ No newline at end of file