GarQet
Own3d!
- Joined
- Feb 10, 2009
- Messages
- 1,381
- Solutions
- 14
- Reaction score
- 81
Eloszka. Na wstępie, Azi jeśli nie chcesz pomagać to chociaż nie zaspamuj mi tematu, bo potrzebuje szybkiej i efektywnej pomocy.
Chodzi o pobranie wyników z bazy. Mianowicie: mam 8 kolumn z wynikami liczbowymi.
Przypuśćmy, że kolumny w tabeli x nazywają się tak: 5d.2m, 6d.2m, 7d.2m, 8d.2m, 9d.2m, 10d.2m, 1d.3m, 2d.3m.
Maksymalna wartość jaką może osiągnąć d i m wynosi 10. W momencie kiedy wartość d równa się 10 następna kolumna zaczyna odliczanie od nowa, z tym że wartość przy m zwiększa się o jeden.
Moim zadaniem jest pobranie wyników, wartości z 4 ostatnich kolumn jakie istnieją w tejże tabeli, czyli dla przykładu z: 9d.2m, 10d.2m, 1d.3m, 2d.3m.
I teraz jest główne pytanie, w jaki sposób mogę pobrać dane 4 ostatnich kolumn w zależności od 2 zmiennych?
Gdybym np. pobierał dane z 4 ostatnich kolumn gdzie ostatnią jest np. 9d.2m, to nie ma problemu, co prawda kod jest dość długi. Ale w momencie kiedy wartość przy m się zwiększa to nie mam pomysłu jak pobrać te wyniki.
Mam sobie takie cudo:
Nie mam pomysłu jak pobrać wyniki z elseif'a, gdy zmieni mi się moje m.
Pomoże ktoś?
Chodzi o pobranie wyników z bazy. Mianowicie: mam 8 kolumn z wynikami liczbowymi.
Przypuśćmy, że kolumny w tabeli x nazywają się tak: 5d.2m, 6d.2m, 7d.2m, 8d.2m, 9d.2m, 10d.2m, 1d.3m, 2d.3m.
Maksymalna wartość jaką może osiągnąć d i m wynosi 10. W momencie kiedy wartość d równa się 10 następna kolumna zaczyna odliczanie od nowa, z tym że wartość przy m zwiększa się o jeden.
Moim zadaniem jest pobranie wyników, wartości z 4 ostatnich kolumn jakie istnieją w tejże tabeli, czyli dla przykładu z: 9d.2m, 10d.2m, 1d.3m, 2d.3m.
I teraz jest główne pytanie, w jaki sposób mogę pobrać dane 4 ostatnich kolumn w zależności od 2 zmiennych?
Gdybym np. pobierał dane z 4 ostatnich kolumn gdzie ostatnią jest np. 9d.2m, to nie ma problemu, co prawda kod jest dość długi. Ale w momencie kiedy wartość przy m się zwiększa to nie mam pomysłu jak pobrać te wyniki.
Mam sobie takie cudo:
LUA:
local d = dowolna liczba z zakresu od 1-10
local m = dowolna liczba z zakresu od 1-10
local w = {1, 2, 3, 4, 5}
local v = 0
if isInArray(w, d) == false then
v = (d - 4)
local f1 = db.getResult("SELECT `".. v .."d.".. m .."m` FROM `x` WHERE `name` = '".. getCreatureName(cid) .."';")
local f2 = db.getResult("SELECT `".. v+01 .."d.".. m .."m` FROM `x` WHERE `name` = '".. getCreatureName(cid) .."';")
local f3 = db.getResult("SELECT `".. v+02 .."d.".. m .."m` FROM `x` WHERE `name` = '".. getCreatureName(cid) .."';")
local f4 = db.getResult("SELECT `".. v+03 .."d.".. m .."m` FROM `x` WHERE `name` = '".. getCreatureName(cid) .."';")
if(f1:getID() == -1 or f2:getID() == -1 or f3:getID() == -1 or f4:getID() == -1) then
return true
end
local f = (f1:getDataInt("".. v .."d.".. m .."m") + f2:getDataInt("".. v+01 .."d.".. m .."m") + f3:getDataInt("".. v+02 ..".".. m .."m") + f4:getDataInt("".. v+03 ..".".. m .."m"))
for i = 1, 4 do
f[i]:free()
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Zsumowany wynik z 4 ostatnich tabel wynosi: ".. f ..".")
return true
elseif isInArray(w, d) == true then
v = (10 - (d + 4))
m = m - 1
return true
end
Pomoże ktoś?
Last edited: