This commit is contained in:
2025-03-25 09:11:23 +00:00
parent f4a8983b48
commit 3598cb5fd9
7 changed files with 92 additions and 11 deletions

View File

@@ -48,3 +48,45 @@ func SubmitTicket(db *sql.DB) http.HandlerFunc {
http.Redirect(w, r, "/", http.StatusSeeOther)
}
}
func ListTickets(db *sql.DB) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
log.Println("📋 Tickets page hit")
rows, err := db.Query(`
SELECT id, game_type, draw_date, ball1, ball2, ball3, ball4, ball5, bonus1, bonus2, duplicate
FROM my_tickets
ORDER BY draw_date DESC
`)
if err != nil {
log.Println("❌ Failed to query tickets:", err)
http.Error(w, "Could not load tickets", http.StatusInternalServerError)
return
}
defer rows.Close()
var tickets []models.MyTicket
for rows.Next() {
var t models.MyTicket
err := rows.Scan(
&t.Id, &t.GameType, &t.DrawDate,
&t.Ball1, &t.Ball2, &t.Ball3, &t.Ball4, &t.Ball5,
&t.Bonus1, &t.Bonus2, &t.Duplicate,
)
if err != nil {
log.Println("❌ Row scan error:", err)
continue
}
tickets = append(tickets, t)
}
err = Tmpl.ExecuteTemplate(w, "tickets", map[string]any{
"Page": "tickets",
"Data": tickets,
})
if err != nil {
log.Println("❌ Template rendering error:", err)
http.Error(w, "Could not render page", http.StatusInternalServerError)
}
}
}