Kerth
31.10.2013, 20:31:43
Cześć,
zamierzam stworzyćsystem osiągnięć. Chcę, żeby w bazie zapisywało się coś w rodzaju:
Osiągnięcie1
1/2
gdzie: 1 - wykonana jedna cześć 2 - wykonana całość.
Myślę, że z zapisem sobię poradzę tylko problem tkwi w tym, że nie wiem jakim polem w bazie mam się posłużyć. Czy TINYINT będzie dobrym rozwiązaniem czy INT?
SmokAnalog
31.10.2013, 20:54:49
Nie wiem co masz na myśli pisząc "jedna część", ale jeśli na osiągnięcie składa się kilka czynności, to może lepiej rozważyć osobną tabelę?
tajemnica
1.11.2013, 11:06:46
Tabela:
- Osiągniecia:
*id
*tytul
*opis
*nagroda_pkt
- Osgiągniecia_wykonane
*id
*id_player
*id_osiagniecie
*time
I chyba tyle? taki najprostszy sposób.
SmokAnalog
1.11.2013, 11:12:30
@tajemnica, chyba jednak nie o to chodziło autorowi.
Kerth
1.11.2013, 12:27:41
To może inaczej to wytłumaczę.
Gracz do wykonania zadania ma dwa razy np. zmienić hasło. Jak zmieni raz to zmienia się na 1/2. Jak na 2/2 to wykonał całe i ustawia mu, że wykonał. I tak jak powiedziałem nie wiem jakim polem sięposłużyćw bazie, żeby wykonać a/b. Czy nie weźmie mi tego MySQL za dzielenie ?
vifus
1.11.2013, 16:54:57
nie ma żadnej różnicy jaki typ pola ustawisz i tak w bazie nie weźmie Ci tego za dzielenie, kwestia tego jak to zrobisz w php
$a="1/2"; // wysylasz do bazy i tyle
poramancza
1.11.2013, 16:59:12
A nie możesz zrobić zwyczajnego pola int np. status zadania które po wykonaniu 1 części zmieni się na 1, a w PHP wyświetlisz sobie np 1/2 czy co tam chcesz. W kodzie odpowiednio to zinterpretować np. 0 = 0/2 zadania, 1 =1/2 zadania , 2= 2/2 zadania i gra

.
mmmmmmm
1.11.2013, 21:30:27
Dwa pola: `ilosc_wykonanych` i `ilosc_do_wykonania`.
I po problemie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.