563 lines
12 KiB
Go
563 lines
12 KiB
Go
|
|
package main
|
|
|
|
import (
|
|
"net/http"
|
|
"html/template"
|
|
"fmt"
|
|
"database/sql"
|
|
_ "github.com/go-sql-driver/mysql"
|
|
"time"
|
|
)
|
|
|
|
type Plan struct{
|
|
Serie int
|
|
Powtorzenia int
|
|
Nazwa string
|
|
Ciezar int
|
|
Opis string
|
|
data_t string
|
|
}
|
|
type Cwiczenie struct{
|
|
Opis string
|
|
Rodzaj string
|
|
Nazwa string
|
|
Zdjecie string
|
|
}
|
|
type CwiczenieTabela struct{
|
|
Id_cwiczenie int
|
|
Nazwa string
|
|
|
|
}
|
|
type Wyniki struct{
|
|
Ciezar_rzecz int
|
|
Ciezar_cel int
|
|
Nazwa string
|
|
}
|
|
type ww struct{
|
|
Wyniki []Wyniki
|
|
Nazwa string
|
|
NumerCwiczenia int
|
|
}
|
|
type CwiczeniaWyniki struct{
|
|
Wyniki []ww
|
|
|
|
}
|
|
type uzytkownicy struct {
|
|
|
|
Login string `db:"login"`
|
|
}
|
|
|
|
var tmpl2 = template.Must(template.ParseGlob("planowanieTreningu.html"))
|
|
var tmpl3 = template.Must(template.ParseGlob("cwiczenie.html"))
|
|
var tmpl4 = template.Must(template.ParseGlob("wyniki.html"))
|
|
var tmpl = template.Must(template.ParseGlob("koszyk.html"))
|
|
|
|
func baza(){
|
|
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
defer db.Close()
|
|
}
|
|
|
|
// func planowanieTreningu2(w http.ResponseWriter, r *http.Request) {
|
|
|
|
// // dodawanie do bazy z geta
|
|
// db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
|
|
|
|
// if err != nil {
|
|
// panic(err.Error())
|
|
// }
|
|
|
|
// defer db.Close()
|
|
|
|
|
|
// rows, err := db.Query("select nazwa from baza.cwiczenie")
|
|
// emp := Plan{}
|
|
// res := []Plan{}
|
|
// for rows.Next() {
|
|
// var nazwa string
|
|
// err = rows.Scan(&nazwa)
|
|
|
|
// if err != nil {
|
|
// panic(err.Error())
|
|
// }
|
|
// emp.Nazwa = nazwa
|
|
// res = append(res, emp)
|
|
// }
|
|
// tmpl2.ExecuteTemplate(w, "Index", res)
|
|
|
|
// }
|
|
|
|
|
|
func planowanieTreningu(w http.ResponseWriter, r *http.Request) {
|
|
|
|
|
|
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
|
|
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
|
|
defer db.Close()
|
|
|
|
|
|
rows, err := db.Query("select nazwa from baza.cwiczenie")
|
|
emp := Plan{}
|
|
res := []Plan{}
|
|
for rows.Next() {
|
|
var nazwa string
|
|
err = rows.Scan(&nazwa)
|
|
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
emp.Nazwa = nazwa
|
|
res = append(res, emp)
|
|
}
|
|
|
|
|
|
|
|
|
|
if r.Method == "POST" {
|
|
Powtorzenia := r.FormValue("Powtorzenia")
|
|
Ciezar := r.FormValue("Ciezar")
|
|
Serie := r.FormValue("Serie")
|
|
Nazwa := r.FormValue("Nazwa")
|
|
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
|
|
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
|
|
defer db.Close()
|
|
|
|
rows, err := db.Query("SELECT id_cwiczenie FROM baza.cwiczenie WHERE nazwa=?", Nazwa)
|
|
|
|
for rows.Next() {
|
|
emp := CwiczenieTabela{}
|
|
var id_cwiczenie int
|
|
err = rows.Scan(&id_cwiczenie)
|
|
emp.Id_cwiczenie = id_cwiczenie
|
|
//odkomentowac pozniej
|
|
rows, err := db.Query("INSERT INTO trening_cel (id_cwiczenie, id_uzytkownik, powtorzenia, ciezar,serie) VALUES (?, 1, ?, ?, ? )", id_cwiczenie, Powtorzenia, Ciezar, Serie)
|
|
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
defer rows.Close()
|
|
|
|
}
|
|
}
|
|
|
|
|
|
tmpl2.ExecuteTemplate(w, "Index", res)
|
|
|
|
}
|
|
|
|
|
|
|
|
func wypiszHandler(w http.ResponseWriter, r *http.Request) {
|
|
|
|
if r.Method == "POST" {
|
|
Powtorzenia := r.FormValue("Powtorzenia")
|
|
Ciezar := r.FormValue("Ciezar")
|
|
Serie := r.FormValue("Serie")
|
|
Nazwa := r.FormValue("Nazwa")
|
|
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
|
|
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
|
|
defer db.Close()
|
|
|
|
rows, err := db.Query("SELECT id_cwiczenie FROM baza.cwiczenie WHERE nazwa=?", Nazwa)
|
|
|
|
for rows.Next() {
|
|
emp := CwiczenieTabela{}
|
|
var id_cwiczenie int
|
|
err = rows.Scan(&id_cwiczenie)
|
|
emp.Id_cwiczenie = id_cwiczenie
|
|
//odkomentowac pozniej
|
|
currentTime := time.Now()
|
|
data_t:= currentTime.Format("2006-01-02")
|
|
|
|
rows, err := db.Query("INSERT INTO trening_rzeczywisty (id_cwiczenia, id_uzytkownik, powtorzenia, ciezar,serie, data_t) VALUES (?, 1, ?, ?, ?, ? )", id_cwiczenie, Powtorzenia, Ciezar, Serie, data_t)
|
|
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
defer rows.Close()
|
|
|
|
}
|
|
}
|
|
|
|
//koniec dodawania do bazy z geta
|
|
|
|
//wyświetlanie treningu
|
|
|
|
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
|
|
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
|
|
defer db.Close()
|
|
|
|
rows, err := db.Query("SELECT N.serie, N.powtorzenia, P.nazwa, N.ciezar FROM trening_cel AS N, cwiczenie AS P WHERE P.id_cwiczenie = N.id_cwiczenie")
|
|
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
|
|
|
|
emp := Plan{}
|
|
res := []Plan{}
|
|
for rows.Next() {
|
|
var serie int
|
|
var powtorzenia int
|
|
var nazwa string
|
|
var ciezar int
|
|
err = rows.Scan(&serie, &powtorzenia, &nazwa, &ciezar)
|
|
//err = rows.Scan(&serie, &ciezar)
|
|
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
|
|
emp.Serie = serie
|
|
emp.Powtorzenia = powtorzenia
|
|
emp.Nazwa = nazwa
|
|
emp.Ciezar = ciezar
|
|
res = append(res, emp)
|
|
}
|
|
tmpl.ExecuteTemplate(w, "Index", res)
|
|
//koniec wyświetlanie trenngu
|
|
|
|
|
|
}
|
|
|
|
|
|
func logowanieHandler(w http.ResponseWriter, r *http.Request) {
|
|
|
|
p := Plan{Opis: "zakładka"}
|
|
t, _ := template.ParseFiles("logowanie.html")
|
|
t.Execute(w, p)
|
|
}
|
|
func opisCwiczenia(w http.ResponseWriter, r *http.Request) {
|
|
|
|
|
|
//wyświetlanie treningu
|
|
nazwa := r.FormValue("Nazwa")
|
|
|
|
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
|
|
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
|
|
defer db.Close()
|
|
|
|
rows, err := db.Query("SELECT opis, rodzaj, zdjecie FROM baza.cwiczenie where nazwa=?", nazwa)
|
|
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
|
|
|
|
emp := Cwiczenie{}
|
|
res := []Cwiczenie{}
|
|
for rows.Next() {
|
|
var opis string
|
|
var rodzaj string
|
|
var zdjecie string
|
|
err = rows.Scan(&opis, &rodzaj, &zdjecie)
|
|
//err = rows.Scan(&serie, &ciezar)
|
|
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
|
|
emp.Opis = opis
|
|
emp.Rodzaj = rodzaj
|
|
emp.Zdjecie =zdjecie
|
|
emp.Nazwa =nazwa
|
|
res = append(res, emp)
|
|
}
|
|
tmpl3.ExecuteTemplate(w, "Index", res)
|
|
//koniec wyświetlanie trenngu
|
|
|
|
|
|
}
|
|
|
|
func wynikiHandler(w http.ResponseWriter, r *http.Request) {
|
|
|
|
|
|
// rows, err := db.Query("SELECT P.ciezar,N.ciezar FROM baza.trening_cel AS N, baza.trening_rzeczywisty AS P, baza.cwiczenie AS C WHERE N.id = 1 and C.id_cwiczenie = P.id_cwiczenia and C.id_cwiczenie = N.id_cwiczenie")
|
|
|
|
// if err != nil {
|
|
// panic(err.Error())
|
|
// }
|
|
// rows2, err := db.Query("SELECT nazwa from baza.cwiczenie where id_cwiczenie=1")
|
|
// if err != nil {
|
|
// panic(err.Error())
|
|
// }
|
|
|
|
|
|
// emp := Wyniki{}
|
|
// res := []Wyniki{}
|
|
// for rows.Next() {
|
|
// var ciezar_rzecz int
|
|
// var ciezar_cel int
|
|
// var nazwa string
|
|
// err = rows.Scan(&ciezar_rzecz, &ciezar_cel)
|
|
// if err != nil {panic(err.Error()) }
|
|
// emp.Ciezar_rzecz = ciezar_rzecz
|
|
// emp.Ciezar_cel = ciezar_cel
|
|
// err = rows2.Scan(&nazwa)
|
|
// if err != nil {panic(err.Error()) }
|
|
|
|
|
|
// emp.Nazwa=nazwa
|
|
// res = append(res, emp)
|
|
// }
|
|
|
|
// tmpl4.ExecuteTemplate(w, "Index", res)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// rows1, err := db.Query("SELECT P.ciezar,N.ciezar FROM baza.trening_cel AS N, baza.trening_rzeczywisty AS P, baza.cwiczenie AS C WHERE N.id = 1 and C.id_cwiczenie = P.id_cwiczenia and C.id_cwiczenie = N.id_cwiczenie")
|
|
|
|
// if err != nil {
|
|
// panic(err.Error())
|
|
// }
|
|
|
|
// rows, err := db.Query("SELECT nazwa FROM baza.cwiczenie WHERE id_cwiczenie = 1")
|
|
|
|
// if err != nil {
|
|
// panic(err.Error())
|
|
// }
|
|
|
|
// emp := Wyniki{}
|
|
// res := []Wyniki{}
|
|
// for rows1.Next() {
|
|
// var ciezar_rzecz int
|
|
// var ciezar_cel int
|
|
|
|
// err = rows1.Scan(&ciezar_rzecz, &ciezar_cel)
|
|
// if err != nil {
|
|
// panic(err.Error())
|
|
// }
|
|
|
|
// emp.Ciezar_rzecz = ciezar_rzecz
|
|
// emp.Ciezar_cel = ciezar_cel
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// for rows.Next() {
|
|
|
|
// var nazwa string
|
|
// err = rows.Scan(&nazwa)
|
|
// if err != nil {
|
|
// panic(err.Error())
|
|
// }
|
|
|
|
|
|
// emp.Nazwa=nazwa
|
|
// res = append(res, emp)
|
|
// }
|
|
// tmpl4.ExecuteTemplate(w, "Index1", res)
|
|
// }
|
|
|
|
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
|
|
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
|
|
defer db.Close()
|
|
|
|
|
|
|
|
|
|
for i := 1; i < 4; i++ {
|
|
|
|
|
|
|
|
rows, err := db.Query("SELECT C.nazwa FROM baza.trening_cel AS N, baza.trening_rzeczywisty AS P, baza.cwiczenie AS C WHERE N.id = ? and C.id_cwiczenie = P.id_cwiczenia and C.id_cwiczenie = N.id_cwiczenie", i)
|
|
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
|
|
emp := ww{}
|
|
res := []ww{}
|
|
for rows.Next() {
|
|
var nazwa string
|
|
err = rows.Scan(&nazwa)
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
emp.Nazwa=nazwa
|
|
emp.NumerCwiczenia=i
|
|
|
|
|
|
rows2, err := db.Query("SELECT P.ciezar, N.ciezar FROM baza.trening_cel AS N, baza.trening_rzeczywisty AS P, baza.cwiczenie AS C WHERE N.id = ? and C.id_cwiczenie = P.id_cwiczenia and C.id_cwiczenie = N.id_cwiczenie", i)
|
|
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
emp2 := Wyniki{}
|
|
res2 := []Wyniki{}
|
|
for rows2.Next() {
|
|
var ciezar_rzecz int
|
|
var ciezar_cel int
|
|
|
|
err = rows2.Scan(&ciezar_rzecz, &ciezar_cel)
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
|
|
emp2.Ciezar_rzecz = ciezar_rzecz
|
|
emp2.Ciezar_cel = ciezar_cel
|
|
res2 = append(res2, emp2)
|
|
|
|
}
|
|
emp.Wyniki=res2
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
res = append(res, emp)
|
|
fmt.Println(res)
|
|
|
|
|
|
|
|
|
|
tmpl4.ExecuteTemplate(w, "Index", res)
|
|
|
|
}
|
|
pp := Plan{Opis: "zakładka"}
|
|
tt, _ := template.ParseFiles("kon.html")
|
|
tt.Execute(w, pp)
|
|
}
|
|
|
|
|
|
func testHandler(w http.ResponseWriter, r *http.Request) {
|
|
currentTime := time.Now()
|
|
fmt.Println("YYYY-MM-DD : ", currentTime.Format("2006-01-02"))
|
|
fmt.Println("hehheh")
|
|
}
|
|
|
|
func start(w http.ResponseWriter, r *http.Request) {
|
|
p := Plan{Opis: "zakładka"}
|
|
t, _ := template.ParseFiles("start.html")
|
|
t.Execute(w, p)
|
|
}
|
|
|
|
func dodaj_cwiczenieHandler(w http.ResponseWriter, r *http.Request) {
|
|
if r.Method == "POST" {
|
|
Nazwa := r.FormValue("Nazwa")
|
|
|
|
Rodzaj := r.FormValue("Rodzaj")
|
|
Opis := r.FormValue("Opis")
|
|
Zdjecie := r.FormValue("Zdjecie")
|
|
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
|
|
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
|
|
defer db.Close()
|
|
|
|
|
|
rows, err := db.Query("INSERT INTO baza.cwiczenie (opis, rodzaj, nazwa, zdjecie) VALUES (?, ?, ?, ?)", Opis, Rodzaj, Nazwa, Zdjecie)
|
|
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
defer rows.Close()
|
|
}
|
|
p := Plan{Opis: "zakładka"}
|
|
t, _ := template.ParseFiles("dodajcwiczenie.html")
|
|
t.Execute(w, p)
|
|
|
|
}
|
|
|
|
func main() {
|
|
|
|
//baza danych
|
|
|
|
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
|
|
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
|
|
defer db.Close()
|
|
/*
|
|
//wpisywanie do bazy
|
|
insert, err := db.Query("INSERT INTO trening_rzeczywisty VALUES ( 1, 1, 1, 22, 33, 44 )")
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
defer insert.Close()
|
|
*/
|
|
|
|
//wybieranie z bazy
|
|
/* results, err := db.Query("SELECT login FROM uzytkownicy")
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
|
|
for results.Next() {
|
|
var login string
|
|
err = results.Scan(&login)
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
fmt.Printf(login)
|
|
}*/
|
|
/*
|
|
//usuwanie wiersza z bazy
|
|
insertq, err := db.Query("DELETE FROM uzytkownicy WHERE id_uzytkownik=4")
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
defer insertq.Close()
|
|
*/
|
|
http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static"))))
|
|
http.HandleFunc("/wypisz/", wypiszHandler)
|
|
http.HandleFunc("/logowanie/", logowanieHandler)
|
|
http.HandleFunc("/planer/", planowanieTreningu)
|
|
// http.HandleFunc("/planer2/", planowanieTreningu2)
|
|
http.HandleFunc("/cwiczenie/", opisCwiczenia)
|
|
http.HandleFunc("/wyniki/", wynikiHandler)
|
|
http.HandleFunc("/test/", testHandler)
|
|
http.HandleFunc("/dodajcwiczenie/", dodaj_cwiczenieHandler)
|
|
http.HandleFunc("/start/", start)
|
|
http.ListenAndServe(":8009", nil)
|
|
|
|
|
|
}
|
|
|
|
|