Stoper z zapisem wyników w mysql.

0

Witam wszystkich.
Potrzebuje zrobić stoper, który działałby na naciśnięcie spacji, a do tego wszystkie wyniki zapisywał w bazie danych, aby można było wyliczyć średnią, zapisać rekord itp. Jakieś 12 lat temu interesowałem się programowaniem, ale od tamtego czasu zdążyłem nawet zapomnieć HTML :/ Dlatego potrzebuje pomocy. Stoper jest mi potrzebny do układani kostki rubika na czas. W internecie są stopery, ale większość nie ma opcji logowania i zapisywania statystyk, dlatego chciałbym zrobić taki stoper tylko dla siebie. Podejrzewam, że musi być napisany w Javie. Ktoś mógłby jakoś mnie nakierować na materiały, które pomogłyby mi dotrzeć do tego jak mam to zrobić? Lub może ktoś ma kod który mógłby spełniać takie funkcje? Przyznam, że w tej chwili po zapominałem większości z JS, php i html więc mile widziane będą materiały, poradniki z nieco szczegółowym opisem, wtedy szybciej sobie wszystko po przypominam :) Jeśli takich nie ma to najwyżej poświęcę dużo więcej czasu na przypominanie sobie wszystkiego.
Z góry dziękuje.

0

Dzięki za brak pomocy. Poradziłem już sobie sam.... Temat do zamknięcia.

3

Traktowanie problemu całościowo jest zazwyczaj kiepskim podejściem jeśli chodzi o programowanie.
Zaczynajmy:

  1. Jak pobrać aktualny czas do zmiennej?
    https://stackoverflow.com/questions/1531093/how-do-i-get-the-current-date-in-javascript

  2. Okej, już wiem jak pobrać czas. Ale jak to zrobić po naciśnięciu przycisku na klawiaturze?
    https://stackoverflow.com/questions/24386354/execute-js-code-after-pressing-the-spacebar

  3. Super! Teraz potrzebuję obliczyć różnicę między datami:
    https://stackoverflow.com/questions/13894632/get-time-difference-between-two-dates-in-seconds

  4. No cudo! Mamy już prawie wszystko! Teraz trzeba wynik zapisać w bazie danych... JavaScript jest językiem front-endowym, więc nie połączę się z żadną bazą danych bezpośrednio. Potrzebuję użyć języka backendowego. Hmmm... Znam JavaScript. Czy jest zatem możliwość pisania aplikacji serwerowych w tym języku?
    https://www.hongkiat.com/blog/node-js-server-side-javascript/

  5. Super! Jest coś takiego jak Node.js, czyli mogę tego użyć :) Poprzedni link posiada informacje jak zainstalować Node.js i stworzyć testową aplikację. Dalej nie czytam, bo nie wiem czy będzie mi ten "Creating a HTTP Server" w ogóle potrzebny. Ale jak przesłać dane ze strony https://expressjs.com/en/starter/static-files.htmlww trzeba również umieścić na serwerze, aby działała poprawnie - https://expressjs.com/en/starter/static-files.html
    https://stackoverflow.com/questions/45032412/sending-data-from-javascript-html-page-to-express-nodejs-server

  6. No super! Teraz potrafię wysłać dane ze strony https://www.w3schools.com/nodejs/nodejs_mysql_insert.asppisać ten odebrany wynik (w tytule widzę mysql, więc do niego się odniosę). Jak połączyć się z bazą i coś do niej dodać?
    https://www.w3schools.com/nodejs/nodejs_mysql_insert.asp

  7. Wow! Rekord się dodał! Teraz potrzebuję je odebrać. Hmm... Jak to zrobić?
    https://www.w3schools.com/nodejs/nodejs_mysql_select.asp

  8. Mamy tablicę zapisanych wyników! Teraz wystarczy dla każdego elementu obliczyć różnicę, a następnie to zsumować. Tylko jak to zrobić?
    https://medium.com/@chrisburgin95/rewriting-javascript-sum-an-array-dbf838996ed0

  9. Super! Mamy już sumę! A skąd mam wiedzieć ile wyników pobrałem, abym mógł sumę podzielić przez ilość elementów tablicy?
    https://www.w3schools.com/jsref/jsref_length_array.asp

  10. Jupi! Mam wynik! Jestem super!

PS. Przykład powyżej prezentuje podejście typu "dziel i zwyciężaj" (https://pl.wikipedia.org/wiki/Dziel_i_zwyci%C4%99%C5%BCaj), polecam stosować się do niego, ponieważ na mniejsze problemy ludzie zazwyczaj szybciej udzielają pomocy. Takie złożone problemy wymagają analizy (nawet szybkiej), więc nie należy spodziewać się natychmiastowej pomocy.

0

Ooo no i za to, to się nawet butelka dobrej whisky należy :) Dzięki wielkie za poświęcenie swojego czasu :) A jakbyś był w przyszłości w okolicy Białegostoku to zapraszam na piwko :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1