![]() |
![]() ![]() |
![]() |
-kozumi- |
![]()
Post
#1
|
Goście ![]() |
Dzień dobry!
Mam takie zapytanie mysql które po kliknięciu w odsyłacz ?go=walka odejmuje z bazy -10 i w tym mój problem, że chciałbym aby gdy zostanie 10 nie odjęło do zera lecz by zostawiło 1. Całość wygląda tak:
Aktualnie tak instrukcje zrobiłem ale pokręciłem coś. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź po prostu
ile zwróci j jeżeli jest mniej niż 11 ustaw na 1 jeżeli więcej odejmij 10 -------------------- |
|
|
-kozumi- |
![]()
Post
#3
|
Goście ![]() |
Może być takie rozwiązanie:
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 486 Pomógł: 101 Dołączył: 27.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Trochę dziwnie to zrobiłeś, bo jeśli $dane['hp'] będzie równe 10, to zapytanie odejmie 19pkt..
Ten post edytował gorden 28.01.2011, 17:46:59 |
|
|
-kozumi- |
![]()
Post
#5
|
Goście ![]() |
Ale jeśli chodzi o ostatnią instrukcję to nie o to głównie mi chodziło bo może być np. 3 lub 2 dlatego nie za bardzo aby od razu do 1.
Myślałem tak:
Jeśli hp mniejsze niż 10 czyli 9...1 to należało by odjąć 8 i po sprawie lecz zawsze odejmuje mi 10. Dlaczego? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
To zrób prościej
1. wyciągasz aktualny stan zdrowia czyli x 2. od tej liczby odejmujesz te 10 i teraz masz y a)y<=1 ustawiasz w bazie hp = 1 ![]() nie musisz odejmować tego w bazie -------------------- |
|
|
-kozumi- |
![]()
Post
#7
|
Goście ![]() |
Problem po części rozwiązałem ale gdy dojdzie do 0 to tak pozostanie dopóki nie wciśnie się odsyłacza ponownie.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Możesz mi wytłumaczyć czemu nie zrobisz tak jak ci napisałem?
jak ktoś ma 10 to mu zapiszesz wartość 0, a tego nie chcesz. Logicznie masz wielkie problemy z układaniem ifów patrząc po twoich warunkach startowe życie 1 wynik za mało życia startowe życie 2 wynik wynik życie = -8 startowe życie 3 wynik wynik życie = -7 . . . startowe życie 10 wynik 0 startowe życie 11 wynik 1 nareszcie dobrze Ten post edytował lobopol 28.01.2011, 20:54:45 -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 486 Pomógł: 101 Dołączył: 27.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mam pomysł.
Ten post edytował gorden 28.01.2011, 21:00:12 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ale na cholerę sobie kod utrudniać? Podałem najprostszą opcje mam ją wam jeszcze napisać w php? Przecież to pobranie danych (co już jest), jedno odejmowanie (masakra), 1 if i jeden else, ewentualnie lepsza opcja
-jeżeli życie przed odejmowaniem = 1 za mało życia - else if wynik odejmowania >0 zycie = wynik odejmowania -else wynik = 1 -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 08:43 |