Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Osiągnięcia
Forum PHP.pl > Forum > Przedszkole
Kerth
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
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
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
@tajemnica, chyba jednak nie o to chodziło autorowi.
Kerth
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
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

  1. $a="1/2"; // wysylasz do bazy i tyle
poramancza
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 biggrin.gif.
mmmmmmm
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.