Prześlij pliki do 'trening-planer'

This commit is contained in:
Karolina Słonka 2019-01-16 22:47:40 +00:00
parent 1af28db98e
commit 397b919e4c
2 changed files with 506 additions and 290 deletions

View File

@ -9,6 +9,9 @@ import (
_ "github.com/go-sql-driver/mysql" _ "github.com/go-sql-driver/mysql"
"time" "time"
) )
type komunikat struct{
Opis string
}
type Plan struct{ type Plan struct{
Serie int Serie int
@ -33,83 +36,102 @@ type Wyniki struct{
Ciezar_rzecz int Ciezar_rzecz int
Ciezar_cel int Ciezar_cel int
Nazwa string Nazwa string
Data_t string
} }
type ww struct{ type ww struct{
Wyniki []Wyniki Wyniki []Wyniki
Nazwa string Nazwa string
NumerCwiczenia int NumerCwiczenia int
Ilosc_cwiczen int
} }
type CwiczeniaWyniki struct{ type Zmiany struct{
Wyniki []ww co_ile_ciezar int
ciezar_dodaj int
co_ile_powtorzen int
ciezar_powtorzen int
} }
type uzytkownicy struct { type Uzytkownicy struct {
Url string
Login string `db:"login"` Login string
Haslo string
} }
type Cookie struct {
Name string
Value int
Path string
Domain string
Expires time.Time
RawExpires string
MaxAge int
Secure bool
HttpOnly bool
Raw string
Unparsed []string
}
//deklaracja tmpl-POCZATEK
var tmpl2 = template.Must(template.ParseGlob("planowanieTreningu.html")) var tmpl2 = template.Must(template.ParseGlob("planowanieTreningu.html"))
var tmpl3 = template.Must(template.ParseGlob("cwiczenie.html")) var tmpl3 = template.Must(template.ParseGlob("cwiczenie.html"))
var tmpl4 = template.Must(template.ParseGlob("wyniki.html")) var tmpl4 = template.Must(template.ParseGlob("wyniki.html"))
var tmpl = template.Must(template.ParseGlob("koszyk.html")) var tmpl = template.Must(template.ParseGlob("koszyk.html"))
//deklaracja tmpl-KONIEC
//deklaracja funkcji-POCZATEK
func baza(){ func baza(){
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza") db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
if err != nil { if err != nil {
panic(err.Error()) panic(err.Error())
} }
defer db.Close() defer db.Close()
} }
// func planowanieTreningu2(w http.ResponseWriter, r *http.Request) {
// // dodawanie do bazy z geta func getCookie(w http.ResponseWriter, r *http.Request) string {
// db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza") var decyzja string
c1, err := r.Cookie("logowanie")
// if err != nil { if err != nil {
// panic(err.Error()) decyzja="brak"
// } }else{
decyzja=c1.Value
// defer db.Close() }
return decyzja
}
// 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 setCookie(w http.ResponseWriter, r *http.Request, id_uzytkownik string) {
fmt.Println("tt")
expiration := time.Now().Add(2 * time.Hour)
c1 := http.Cookie{Name: "logowanie", Value: id_uzytkownik, Expires: expiration}
fmt.Println(c1)
http.SetCookie(w, &c1)
}
//deklaracja funkcji-KONIEC
func planowanieTreningu(w http.ResponseWriter, r *http.Request) { func planowanieTreningu(w http.ResponseWriter, r *http.Request) {
if getCookie(w,r)=="brak" {
p := Plan{Opis: "zakładka"}
t, _ := template.ParseFiles("brakdostepu.html")
t.Execute(w, p)
}else{
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza") db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
if err != nil {
if err != nil { panic(err.Error())
panic(err.Error()) }
} defer db.Close()
defer db.Close()
rows, err := db.Query("select nazwa from baza.cwiczenie") rows, err := db.Query("select nazwa from baza.cwiczenie")
emp := Plan{} emp := Plan{}
res := []Plan{} res := []Plan{}
for rows.Next() { for rows.Next() {
var nazwa string var nazwa string
err = rows.Scan(&nazwa) err = rows.Scan(&nazwa)
if err != nil { if err != nil {
panic(err.Error()) panic(err.Error())
} }
@ -120,11 +142,39 @@ emp.Nazwa = nazwa
if r.Method == "POST" { if r.Method == "POST" {
//dodawanie rodzaju treningu oraz co ile powiekszać cieżar-POCZATEK
var co_ile_ciezar string
co_ile_ciezar="k"
co_ile_ciezar = r.FormValue("co_ile_ciezar")
ciezar_dodaj := r.FormValue("ciezar_dodaj")
co_ile_powtorzenie := r.FormValue("co_ile_powtorzenie")
powtorzenie_dodaj := r.FormValue("powtorzenie_dodaj")
rodzaj_treningu := r.FormValue("rodzaj_treningu")
fmt.Println(co_ile_ciezar)
fmt.Println(ciezar_dodaj)
fmt.Println(powtorzenie_dodaj)
fmt.Println(co_ile_powtorzenie)
fmt.Println(rodzaj_treningu)
if co_ile_ciezar!="" || ciezar_dodaj!="" || powtorzenie_dodaj!="" || co_ile_powtorzenie!="" {
rows, err := db.Query("INSERT INTO baza.zmiany (ciezar_dodaj, powtorzenie_dodaj, co_ile_ciezar, co_ile_powtorzenie, id_uzytkownik, rodzaj_treningu) VALUES (?, ?, ?, ?,?, ?)", ciezar_dodaj, powtorzenie_dodaj, co_ile_ciezar, co_ile_powtorzenie, getCookie(w,r), rodzaj_treningu)
if err != nil {panic(err.Error())}
defer rows.Close()
}
Powtorzenia := r.FormValue("Powtorzenia") Powtorzenia := r.FormValue("Powtorzenia")
Ciezar := r.FormValue("Ciezar") Ciezar := r.FormValue("Ciezar")
Serie := r.FormValue("Serie") Serie := r.FormValue("Serie")
Nazwa := r.FormValue("Nazwa") Nazwa := r.FormValue("Nazwa")
fmt.Println(Nazwa)
fmt.Println(Serie)
fmt.Println(Ciezar)
fmt.Println(Powtorzenia)
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza") db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
if err != nil { if err != nil {
@ -133,126 +183,288 @@ db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
defer db.Close() defer db.Close()
rows, err := db.Query("SELECT id_cwiczenie FROM baza.cwiczenie WHERE nazwa=?", Nazwa)
for rows.Next() {
fmt.Println(Nazwa)
rows1, err:= db.Query("SELECT COUNT(*) FROM baza.trening_cel as a, baza.cwiczenie as b WHERE a.id_cwiczenie=b.id_cwiczenie and b.nazwa=? and a.id_uzytkownik=?", Nazwa, getCookie(w,r))
var liczba string
for rows1.Next() {
err = rows1.Scan(&liczba)
}
fmt.Println(liczba)
fmt.Println(rows1)
if liczba=="0"{
fmt.Println("jeszcze nie")
rows, err := db.Query("SELECT id_cwiczenie FROM baza.cwiczenie WHERE nazwa=?", Nazwa)
if err != nil {panic(err.Error())}
for rows.Next() {
emp := CwiczenieTabela{} emp := CwiczenieTabela{}
var id_cwiczenie int var id_cwiczenie int
err = rows.Scan(&id_cwiczenie) err = rows.Scan(&id_cwiczenie)
emp.Id_cwiczenie = id_cwiczenie emp.Id_cwiczenie = id_cwiczenie
//odkomentowac pozniej fmt.Println("jjjjj")
rows, err := db.Query("INSERT INTO trening_cel (id_cwiczenie, id_uzytkownik, powtorzenia, ciezar,serie) VALUES (?, 1, ?, ?, ? )", id_cwiczenie, Powtorzenia, Ciezar, Serie) rows, err := db.Query("INSERT INTO trening_cel (id_cwiczenie, id_uzytkownik, powtorzenia, ciezar,serie) VALUES (?, ?, ?, ?, ? )", id_cwiczenie,getCookie(w,r), Powtorzenia, Ciezar, Serie)
if err != nil {
if err != nil { panic(err.Error())
panic(err.Error()) }
}
defer rows.Close() defer rows.Close()
} }
}else{
p := Plan{Opis: "zakładka"}
t, _ := template.ParseFiles("komunikat.html")
t.Execute(w, p)
fmt.Println("to ćwiczenie już dodałeś")
} }
tmpl2.ExecuteTemplate(w, "Index", res)
} }
tmpl2.ExecuteTemplate(w, "Index", res)
}}
func wypiszHandler(w http.ResponseWriter, r *http.Request) { func wypiszHandler(w http.ResponseWriter, r *http.Request) {
//otwieranie bazy-POCZATEK
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
if err != nil {panic(err.Error())}
defer db.Close()
//otwieranie bazy-KONIEC
if r.Method == "POST" {
//autoryzacja-POCZATEK
if getCookie(w,r)=="brak" {
p := Plan{Opis: "zakładka"}
t, _ := template.ParseFiles("brakdostepu.html")
t.Execute(w, p)
}else{
//sprawdzanie metody POST - POCZATEK
if r.Method == "POST" {
Powtorzenia := r.FormValue("Powtorzenia") Powtorzenia := r.FormValue("Powtorzenia")
Ciezar := r.FormValue("Ciezar") Ciezar := r.FormValue("Ciezar")
Serie := r.FormValue("Serie") Serie := r.FormValue("Serie")
Nazwa := r.FormValue("Nazwa") Nazwa := r.FormValue("Nazwa")
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza") Akcja := r.FormValue("Akcja")
fmt.Println(Akcja)
if err != nil { fmt.Println(Ciezar)
panic(err.Error()) currentTime := time.Now()
} data_t:= currentTime.Format("2006-01-02")
defer db.Close()
//sprawdzanie czy dodano juz dzisiaj to cwiczenie-POCZATEK
rows1, err := db.Query("SELECT COUNT(*) FROM baza.trening_rzeczywisty as a, baza.cwiczenie as b WHERE a.id_cwiczenia=b.id_cwiczenie and b.nazwa=? and a.id_uzytkownik=? and a.data_t=?", Nazwa,getCookie(w,r), data_t)
if err != nil {panic(err.Error())}
defer rows1.Close()
var liczba string
for rows1.Next() {
err = rows1.Scan(&liczba)
}
rows, err := db.Query("SELECT id_cwiczenie FROM baza.cwiczenie WHERE nazwa=?", Nazwa) rows, err := db.Query("SELECT id_cwiczenie FROM baza.cwiczenie WHERE nazwa=?", Nazwa)
if err != nil {panic(err.Error())}
for rows.Next() { defer rows.Close()
for rows.Next() {
emp := CwiczenieTabela{} emp := CwiczenieTabela{}
var id_cwiczenie int var id_cwiczenie int
err = rows.Scan(&id_cwiczenie) err = rows.Scan(&id_cwiczenie)
emp.Id_cwiczenie = 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 Akcja=="usun"{
fmt.Println("klik ut")
rows, err := db.Query("DELETE FROM baza.trening_cel where id_cwiczenie=? and id_uzytkownik=?", id_cwiczenie, getCookie(w,r))
if err != nil {panic(err.Error())}
defer rows.Close()
}
if err != nil {
panic(err.Error())
}
defer rows.Close()
if Akcja=="zatwierdz" && liczba=="0"{
fmt.Println("klik zat")
rows, err := db.Query("INSERT INTO trening_rzeczywisty (id_cwiczenia, id_uzytkownik, powtorzenia, ciezar,serie, data_t) VALUES (?, ?, ?, ?, ?, ? )", id_cwiczenie,getCookie(w,r), Powtorzenia, Ciezar, Serie, data_t)
if err != nil {panic(err.Error())}
defer rows.Close()
}else{
p := Plan{Opis: "zakładka"}
t, _ := template.ParseFiles("komunikat.html")
t.Execute(w, p)
fmt.Println("to ćwiczenie już dodałeś")
//sprawdzanie czy dodano juz dzisiaj to cwiczenie-KONIEC
}
//sprawdzanie metody POST - KONIEC
} }
} }
//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{} //dodawanie ciezaru lub powtórzenia zależnie od ilości treningów-POCZATEK
for rows.Next() { rows5, err := db.Query("SELECT ciezar_dodaj, powtorzenie_dodaj, co_ile_ciezar, co_ile_powtorzenie FROM baza.zmiany where id_uzytkownik=5")
var serie int if err != nil {panic(err.Error())}
var powtorzenia int
var nazwa string for rows5.Next() {
var ciezar int var ciezar_dodaj int
var powtorzenie_dodaj int
var co_ile_ciezar int
var co_ile_powtorzenie int
err = rows5.Scan(&ciezar_dodaj, &powtorzenie_dodaj, &co_ile_ciezar, &co_ile_powtorzenie)
if err != nil {panic(err.Error())}
rows1, err := db.Query("SELECT P.nazwa, N.ciezar, N.powtorzenia FROM baza.trening_cel AS N, baza.cwiczenie AS P WHERE P.id_cwiczenie = N.id_cwiczenie and N.id_uzytkownik=?", getCookie(w,r))
if err != nil {panic(err.Error())}
for rows1.Next() {
var nazwa string
var ciezar int
var powtorzenia int
err = rows1.Scan(&nazwa, &ciezar, &powtorzenia)
if err != nil {panic(err.Error())}
rows3, err := db.Query("SELECT COUNT(*) from baza.trening_rzeczywisty as a, baza.cwiczenie as b where b.nazwa=? and a.id_uzytkownik=?", nazwa,getCookie(w,r))
if err != nil {panic(err.Error())}
for rows3.Next() {
var liczba_treningow int
err = rows3.Scan(&liczba_treningow)
if err != nil {panic(err.Error())}
//sprawdzanie czy dodac ciezar lub powtorzenie-POCZATEK
if liczba_treningow%co_ile_ciezar==0 || liczba_treningow%co_ile_powtorzenie==0{
ciezar=ciezar+ciezar_dodaj
powtorzenia=powtorzenia+powtorzenie_dodaj
rows3, err := db.Query("UPDATE baza.trening_cel as a, baza.cwiczenie as b SET a.ciezar=? WHERE a.id_uzytkownik=? and b.nazwa=? and a.id_cwiczenie=b.id_cwiczenie", ciezar,getCookie(w,r), nazwa)
if err != nil {panic(err.Error())}
fmt.Println(rows3)
}
//sprawdzanie czy dodac ciezar lub powtorzenie-KONIEC
}
//dodawanie ciezaru lub powtórzenia zależnie od ilości treningów-KONIEC
}
}
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 and id_uzytkownik like ?", getCookie(w,r))
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, &powtorzenia, &nazwa, &ciezar)
//err = rows.Scan(&serie, &ciezar) if err != nil {panic(err.Error())}
if err != nil {
panic(err.Error())
}
emp.Serie = serie emp.Serie = serie
emp.Powtorzenia = powtorzenia emp.Powtorzenia = powtorzenia
emp.Nazwa = nazwa emp.Nazwa = nazwa
emp.Ciezar = ciezar emp.Ciezar = ciezar
res = append(res, emp) res = append(res, emp)
} }
tmpl.ExecuteTemplate(w, "Index", res) tmpl.ExecuteTemplate(w, "Index", res)
//koniec wyświetlanie trenngu }
//autoryzacja-KONIEC
} }
func logowanieHandler(w http.ResponseWriter, r *http.Request) { func logowanieHandler(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()
p := Plan{Opis: "zakładka"}
t, _ := template.ParseFiles("logowanie.html")
t.Execute(w, p) if r.Method == "GET" {
id_uzytkownik := r.FormValue("cookies")
setCookie(w, r, id_uzytkownik)
p := Uzytkownicy{Url: "/logowanie"}
t, _ := template.ParseFiles("logowanie.html")
t.Execute(w, p)
} }
func opisCwiczenia(w http.ResponseWriter, r *http.Request) {
if r.Method == "POST" {
Login := r.FormValue("Login")
Haslo := r.FormValue("Haslo")
rows, err := db.Query("SELECT COUNT(*) FROM baza.uzytkownicy WHERE login=? and haslo=?", Login, Haslo)
fmt.Println("2")
if err != nil {
panic(err.Error())
}
fmt.Println("2")
for rows.Next() {
var autoryzacja int
err = rows.Scan(&autoryzacja)
if err != nil {
panic(err.Error())
}
if autoryzacja!=0{
rows, err := db.Query("SELECT id_uzytkownik FROM baza.uzytkownicy WHERE login=? and haslo=?", Login, Haslo)
fmt.Println("2")
if err != nil {
panic(err.Error())
}
fmt.Println("2")
for rows.Next() {
var id_uzytkownik string
err = rows.Scan(&id_uzytkownik)
if err != nil {
panic(err.Error())
}
setCookie(w, r, id_uzytkownik)
p := Uzytkownicy{Url: "/start"}
t, _ := template.ParseFiles("start.html")
t.Execute(w, p)}
fmt.Println("1")
}else{
fmt.Println("2")
p := Uzytkownicy{Url: "/logowanie"}
t, _ := template.ParseFiles("logowanie.html")
t.Execute(w, p)
}}
}
fmt.Println(r.Method)
}
func opisCwiczenia(w http.ResponseWriter, r *http.Request) {
if getCookie(w,r)=="brak" {
p := Plan{Opis: "zakładka"}
t, _ := template.ParseFiles("brakdostepu.html")
t.Execute(w, p)
}else{
//wyświetlanie treningu //wyświetlanie treningu
nazwa := r.FormValue("Nazwa") nazwa := r.FormValue("Nazwa")
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
if err != nil { if err != nil {
panic(err.Error()) panic(err.Error())
@ -288,119 +500,34 @@ emp.Nazwa =nazwa
} }
tmpl3.ExecuteTemplate(w, "Index", res) tmpl3.ExecuteTemplate(w, "Index", res)
//koniec wyświetlanie trenngu //koniec wyświetlanie trenngu
}}
}
func wynikiHandler(w http.ResponseWriter, r *http.Request) { func wynikiHandler(w http.ResponseWriter, r *http.Request) {
if getCookie(w,r)=="brak" {
p := Plan{Opis: "zakładka"}
t, _ := template.ParseFiles("brakdostepu.html")
t.Execute(w, p)
}else{
// 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") db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
// 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 { if err != nil {
panic(err.Error()) panic(err.Error())
} }
defer db.Close() defer db.Close()
var Ilosc_cwiczen int
rows4, err := db.Query("SELECT COUNT(*) from baza.trening_cel where id_uzytkownik=?",getCookie(w,r))
if err != nil {
panic(err.Error())
for i := 1; i < 4; i++ { }
for rows4.Next() {
err = rows4.Scan(&Ilosc_cwiczen)
if err != nil {
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) panic(err.Error())
}
}
fmt.Println(Ilosc_cwiczen)
for i := 1; i < Ilosc_cwiczen+1; 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 { if err != nil {
panic(err.Error()) panic(err.Error())
@ -418,7 +545,7 @@ var nazwa string
emp.NumerCwiczenia=i 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) rows2, err := db.Query("SELECT P.ciezar, N.ciezar, P.data_t 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 { if err != nil {
panic(err.Error()) panic(err.Error())
@ -428,90 +555,144 @@ res2 := []Wyniki{}
for rows2.Next() { for rows2.Next() {
var ciezar_rzecz int var ciezar_rzecz int
var ciezar_cel int var ciezar_cel int
var data_t string
err = rows2.Scan(&ciezar_rzecz, &ciezar_cel) err = rows2.Scan(&ciezar_rzecz, &ciezar_cel, &data_t)
if err != nil { if err != nil {
panic(err.Error()) panic(err.Error())
} }
emp2.Ciezar_rzecz = ciezar_rzecz emp2.Ciezar_rzecz = ciezar_rzecz
emp2.Ciezar_cel = ciezar_cel emp2.Ciezar_cel = ciezar_cel
emp2.Data_t = data_t
res2 = append(res2, emp2) res2 = append(res2, emp2)
} }
emp.Wyniki=res2 emp.Wyniki=res2
} }
res = append(res, emp)
res = append(res, emp)
fmt.Println(res)
tmpl4.ExecuteTemplate(w, "Index", 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) { func dodaj_cwiczenieHandler(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()
if getCookie(w,r)=="brak" {
p := Plan{Opis: "zakładka"}
t, _ := template.ParseFiles("brakdostepu.html")
t.Execute(w, p)
}else{
if r.Method == "POST" { if r.Method == "POST" {
Nazwa := r.FormValue("Nazwa") Nazwa := r.FormValue("Nazwa")
Rodzaj := r.FormValue("Rodzaj") Rodzaj := r.FormValue("Rodzaj")
Opis := r.FormValue("Opis") Opis := r.FormValue("Opis")
Zdjecie := r.FormValue("Zdjecie") 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) fmt.Println(Nazwa)
fmt.Println(Rodzaj)
fmt.Println(Opis)
fmt.Println(Zdjecie)
if err != nil { // insert, err := db.Query("INSERT INTO cwiczenie (opis, rodzaj, nazwa, zdjecie) VALUES (?,?,?,?)", Opis, Rodzaj, Nazwa, Zdjecie)
panic(err.Error()) insert, err := db.Query("INSERT INTO baza.cwiczenie ( opis, rodzaj, nazwa, zdjecie) VALUES ( ?,?,?,? )",Opis, Rodzaj, Nazwa, Zdjecie)
} // if err != nil {
defer rows.Close() // panic(err.Error())
// }
// defer insert.Close()
fmt.Println(insert)
fmt.Println(err)
} }
p := Plan{Opis: "zakładka"} p := Plan{Opis: "zakładka"}
t, _ := template.ParseFiles("dodajcwiczenie.html") t, _ := template.ParseFiles("dodajcwiczenie.html")
t.Execute(w, p) t.Execute(w, p)
} }}
func main() {
//baza danych
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza") func rejestracja(w http.ResponseWriter, r *http.Request) {
// p := Uzytkownicy{Url: "/start"}
// t, _ := template.ParseFiles("pocz.html")
// t.Execute(w, p)
if r.Method == "POST" {
Login := r.FormValue("Login")
Haslo := r.FormValue("Haslo")
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
if err != nil {panic(err.Error())}
defer db.Close()
// fmt.Println(Login)
rows, err := db.Query("SELECT COUNT(*) FROM baza.uzytkownicy WHERE login=?", Login)
// if err != nil {panic(err.Error())}
var login int
for rows.Next() {
err = rows.Scan(&login)
fmt.Println(login)}
// if err != nil {panic(err.Error())}
fmt.Println(Login)
if login==0{
fmt.Println("nie ma loginu")
insert, err := db.Query("INSERT INTO uzytkownicy (login, haslo) VALUES ( ?,? )",Login, Haslo)
if err != nil {
panic(err.Error())
}
defer insert.Close()
p := komunikat{Opis: ""}
t, _ := template.ParseFiles("logowanie.html")
t.Execute(w, p)
}else{
p := komunikat{Opis: "Ten login jest już zajęty"}
t, _ := template.ParseFiles("rejestracja.html")
t.Execute(w, p)
}
}else{
p := komunikat{Opis: ""}
t, _ := template.ParseFiles("rejestracja.html")
t.Execute(w, p)
}
}
func start(w http.ResponseWriter, r *http.Request) {
p := Uzytkownicy{Url: "/start"}
t, _ := template.ParseFiles("start.html")
t.Execute(w, p)
}
func main() {
db, err := sql.Open("mysql", "finley:password@tcp(127.0.0.1:3306)/baza")
if err != nil { if err != nil {
panic(err.Error()) panic(err.Error())
} }
defer db.Close() defer db.Close()
/* /*
//wpisywanie do bazy //wpisywanie do bazy
@ -546,16 +727,15 @@ func main() {
*/ */
http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static")))) http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static"))))
http.HandleFunc("/wypisz/", wypiszHandler) http.HandleFunc("/wypisz/", wypiszHandler)
http.HandleFunc("/logowanie/", logowanieHandler) http.HandleFunc("/logowanie", logowanieHandler)
http.HandleFunc("/planer/", planowanieTreningu) http.HandleFunc("/planer/", planowanieTreningu)
// http.HandleFunc("/planer2/", planowanieTreningu2)
http.HandleFunc("/cwiczenie/", opisCwiczenia) http.HandleFunc("/cwiczenie/", opisCwiczenia)
http.HandleFunc("/wyniki/", wynikiHandler) http.HandleFunc("/wyniki/", wynikiHandler)
http.HandleFunc("/test/", testHandler) http.HandleFunc("/dodajcwiczenie/", dodaj_cwiczenieHandler)
http.HandleFunc("/dodajcwiczenie/", dodaj_cwiczenieHandler) http.HandleFunc("/rejestracja/", rejestracja)
http.HandleFunc("/start/", start)
http.ListenAndServe(":8009", nil)
http.HandleFunc("/start/", start)
http.ListenAndServe(":8099", nil)
} }

View File

@ -16,7 +16,39 @@
body { body {
font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
}</style> }</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js">
function placeOrder2(form) {
if( validateZIPCode(form["Serie"], form["Serie_help"]) && validateZIPCode(form["Powtorzenia"], form["Powtorzenia_help"]) &&validateZIPCode(form["Ciezar"], form["Ciezar_help"]) ) {
form.submit()}
else {
alert("Przykro mi, ale podane informacje nie s¹ prawid³owe.");
}
}
function sprawdzanieFormularza(inputField){
var regex=/\d/;
if(regex.test(inputField.value)){
alert("Podaj cyfry");
}
}
function validateZIPCode(inputField, helpText) {
// Najpierw sprawdzamy, czy d³ugoœæ pola jest ró¿na od 5
// Teraz sprawdzamy, czy w polu wpisano liczbê
if (isNaN(inputField.value)) {
// Dane nie s¹ prawid³owe, wyœwietlamy zatem komunikat o b³êdzie
if (helpText != null)
helpText.innerHTML = "Proszê wpisaæ same cyfry.";
return false;
}
else {
// Dane s¹ w porz¹dku, usuwamy komunikat o b³êdzi
if (helpText != null)
helpText.innerHTML = "";
return true;
}
}</script>
</head> </head>
<body> <body>
@ -35,30 +67,31 @@
</button> </button>
</div> </div>
<div class="collapse navbar-collapse navbar-left mainmenu" style="margin-top: 15px;">Witaj</div>
<div class="collapse navbar-collapse navbar-right mainmenu" id="mainmenu"> <div class="collapse navbar-collapse navbar-right mainmenu" id="mainmenu">
<ul class="nav navbar-nav"> <ul class="nav navbar-nav">
<li><a class="nav-link" href="/logowanie/">Logowanie</a> <li><a class="nav-link" href="/logowanie">Logowanie</a></li>
<li><a class="nav-link" href="/planer/">Zaplanuj nowy trening</a> <li><a class="nav-link" href="/planer/">Zaplanuj nowy trening</a></li>
<li><a class="nav-link" href="/wypisz/">Twoj trening</a> <li><a class="nav-link" href="/wypisz/">Twoj trening</a></li>
<li><a class="btn btn-default" href="/wyniki/">Wyniki</a> <li><a class="btn btn-default" href="/wyniki/">Wyniki</a></li>
<li><a class="nav-link" href="/dodajcwiczenie/">Dodaj ćwiczenie</a> <li><a class="nav-link" href="/dodajcwiczenie/">Dodaj ćwiczenie</a></li>
<li><a class="nav-link" href="/dodajcwiczenie/">Ustawienia</a> <li><a class="nav-link" href="/dodajcwiczenie/">Ustawienia</a></li>
<li> <form action="/logowanie" method="GET"> <button class="btn btn-default" style="height: 50px" value="brak" name="cookies" >Wyloguj</button></form></li>
</ul> </ul>
</div> </div>
</div> </div>
</nav> </nav>
</div> </div>
<br>
<br>
<div class="container" style="margin-top:100px;"> <div class="container" style="margin-top:100px;">
<div class="row"> <div class="row">
<div class="rejestracja col-lg-12"> <div class="rejestracja col-lg-12 text-center">
<span style="font-size: 18px">{{range.}}{{.Nazwa}}{{end}} <span style="font-size: 18px">{{range.}}{{.Nazwa}}{{end}}<br><br>
</span> </span>
<canvas id="{{range.}}{{.NumerCwiczenia}}{{end}}" width="400" height="150"></canvas> <canvas id="{{range.}}{{.NumerCwiczenia}}{{end}}" width="400" height="150"></canvas>
<script> <script>
@ -66,15 +99,19 @@ var ctx = document.getElementById("{{range.}}{{.NumerCwiczenia}}{{end}}");
var myChart = new Chart(ctx, { var myChart = new Chart(ctx, {
type: 'line', type: 'line',
data: { data: {
labels: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], labels: [{{range.}}
{{range .Wyniki}}
{{.Data_t}},
{{end}} {{end}} ],
datasets: [{ datasets: [{
label: 'Twoje wyniki', label: 'Twoje wyniki',
data: [ data: [
{{range.}} {{range.}}
{{range .Wyniki}}
{{range .Wyniki}}
{{.Ciezar_rzecz}}, {{.Ciezar_rzecz}},
{{end}} {{end}} {{end}} {{end}}
], ],
backgroundColor: [ backgroundColor: [
'rgba(255, 99, 132, 0.2)', 'rgba(255, 99, 132, 0.2)',
@ -92,7 +129,8 @@ var myChart = new Chart(ctx, {
data: [{{range.}} data: [{{range.}}
{{range .Wyniki}} {{range .Wyniki}}
{{.Ciezar_cel}}, {{.Ciezar_cel}},
{{end}} {{end}} ], {{end}} {{end}}
],
backgroundColor: [ backgroundColor: [
'rgba(65, 99, 132, 0.2)', 'rgba(65, 99, 132, 0.2)',
@ -102,9 +140,7 @@ var myChart = new Chart(ctx, {
], ],
borderWidth: 1 borderWidth: 1
}] }]},
},
options: { options: {
scales: { scales: {
yAxes: [{ yAxes: [{