Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2020-10-26, 17:32


Pyrek24







Wiek: 25
Na forum: 3438 dni
Posty: 546
Nick w MP: Pyrek

Piwa: 10

Respekt: 50

Witam mam pytanko co musia?bym zrobi? aby pobiera?o wszystkie rekordy z tabeli. Aktualnie pobiera tylko ten rekord kt?ry jest na g?rze w tabeli. Np w tabeli 'code' mamy kody, je?eli wpiszemy komend? /uzyj <kod> to dostajemy gratisy, aktualnie gdy wpiszemy komend? /uzyj pobiera rekord w tabeli kt?ry jest na samej g?rze, rekord poni?ej ju? nie dzia?a, jakby tego kodu nie by?o.
Screen z bazy danych: https://imgur.com/a/QBMiI63
kod s_side

addCommandHandler("uzyj", function(plrcmdhaslo)
local queryC exports["DB2"]:pobierzWyniki("SELECT * FROM m_giveaway")
code queryC.code
ilosc queryC.ile
uzycia queryC.uzycia
typ queryC.typ
if haslo ~= queryC.code then 
triggerClientEvent(plr"onClientAddNotification"plr"Podany kod nie istnieje.""error")
return end

if tonumber(uzycia) <= 1 then
triggerClientEvent(plr"onClientAddNotification"plr"Podany kod zosta? ju? wykorzystany.""error")
return end

if queryC.typ == "money" then
arytmetyka uzycia 1
exports['m-db']:dbSet("UPDATE m_giveaway SET uzycia=? WHERE code=?"arytmetykacode)    
givePlayerMoney(plrilosc)
triggerClientEvent(plr"onClientAddNotification"plr"U?y?e? kodu na "..ilosc.." $ got?wki.""success")
elseif queryC.typ == "premium" then
arytmetyka uzycia 1
exports['m-db']:dbSet("UPDATE m_giveaway SET uzycia=? WHERE code=?"arytmetykacode)
triggerClientEvent(plr"onClientAddNotification"plr"U?y?e? kodu na konto premium.""success")
end
end)


Podpis
amta
Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-10-27, 07:09


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Czy funkcja pobierzWyniki zwraca Ci ca?? tabel? czy tylko 1 wiersz? Mia?e? ju? identyczny problem i zosta? on rozwi?zany wcze?niej.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-10-27, 08:52


Pyrek24







Wiek: 25
Na forum: 3438 dni
Posty: 546
Nick w MP: Pyrek

Piwa: 10

Respekt: 50

Wilq pr?bowa?em u?y? funkcji z DB2

pobierzTabeleWynikow

Lecz nie do ko?ca dzia?a, poniewa? wywala mi b??d z kodu ?e nie ma takiego wierszu w tabeli.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-10-27, 14:07


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Poka? b??d i poka? obie funkcje.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-10-27, 14:17


Pyrek24







Wiek: 25
Na forum: 3438 dni
Posty: 546
Nick w MP: Pyrek

Piwa: 10

Respekt: 50

Gdy u?yje pobierzTabeleWynikow
Wyskakuje ten parametr

code queryC.code
if haslo ~= queryC.code then 
triggerClientEvent(plr"onClientAddNotification"plr"Podany kod nie istnieje.""error")
return end

pobierzTabeleWynikow kod
s_side

function pobierzTabeleWynikow(...)
    local h=dbQuery(SQL,...)
    if (not hthen
        return nil
    end
    local rows dbPoll(h, -1)
    return rows
end

Gdy u?yje funkcji pobierzWyniki bierze pod uwag? tylko pierwszy wiersz w tabeli
kod

function pobierzWyniki(...)
    local h=dbQuery(SQL,...)
    if (not hthen
        return nil
    end
    local rows dbPoll(h, -1)
    if not rows then return nil end
    return rows[1]
end

Prosze

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-10-27, 14:21


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Jak u?ywasz pobierzTabeleWynikow musisz zrobi? p?tl? i dla ka?dego w?asnie robi? kod:
for kv in ipairs(queryC) do

i wtedy dla v robisz ten kod.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-10-27, 17:28


Pyrek24







Wiek: 25
Na forum: 3438 dni
Posty: 546
Nick w MP: Pyrek

Piwa: 10

Respekt: 50

Wilq, zrobi?em tak lecz dalej nie dzia?a. Ten sam b??d podany kod nie istnieje.

addCommandHandler("uzyj", function(plrcmdhaslo)
local queryC exports["DB2"]:pobierzTabeleWynikow("SELECT * FROM m_giveaway")
for kv in ipairs(queryC) do
code v.code
ilosc v.ile
uzycia v.uzycia
typ v.typ
end

if haslo ~= code then 
triggerClientEvent(plr"onClientAddNotification"plr"Podany kod nie istnieje.""error")
return end


if tonumber(uzycia) <= 1 then
triggerClientEvent(plr"onClientAddNotification"plr"Podany kod zosta? ju? wykorzystany.""error")
return end

if queryC.typ == "money" then
arytmetyka uzycia 1
exports['ogrpg-db']:dbSet("UPDATE m_giveaway SET uzycia=? WHERE code=?"arytmetykacode)    
givePlayerMoney(plrilosc)
triggerClientEvent(plr"onClientAddNotification"plr"U?y?e? kodu na "..ilosc.." $ got?wki.""success")
elseif queryC.typ == "premium" then
arytmetyka uzycia 1
exports['ogrpg-db']:dbSet("UPDATE m_giveaway SET uzycia=? WHERE code=?"arytmetykacode)
triggerClientEvent(plr"onClientAddNotification"plr"U?y?e? kodu na konto premium.""success")
end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-10-27, 20:59


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Ale musisz zrobi? odpowiednio ca?y kod w p?tli a nie tylko dla jednego wierszu.
Najlepiej u?yj operacji WHERE code=? i wstawiaj tam code. Wtedy mo?esz da? ten pobierzWyniki.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-10-27, 23:24


Pyrek24







Wiek: 25
Na forum: 3438 dni
Posty: 546
Nick w MP: Pyrek

Piwa: 10

Respekt: 50

Zrobi?em tak, po wpisaniu komendy nic si? nie dzieje, 0 b??d?w DB3.

addCommandHandler("uzyj", function(plrcmdhaslo)
local queryB exports["DB2"]:pobierzWyniki("SELECT * FROM m_giveaway")
ecode queryB.code
local queryC exports["DB2"]:pobierzWyniki("SELECT * FROM m_giveaway WHERE code=?"ecode)
for kv in ipairs(queryC) do
code v.code
ilosc v.ile
uzycia v.uzycia
typ v.typ


if haslo ~= code then 
triggerClientEvent(plr"onClientAddNotification"plr"Podany kod nie istnieje.""error")
return end


if tonumber(uzycia) <= 1 then
triggerClientEvent(plr"onClientAddNotification"plr"Podany kod zosta? ju? wykorzystany.""error")
return end

if queryC.typ == "money" then
arytmetyka uzycia 1
exports['ogrpg-db']:dbSet("UPDATE m_giveaway SET uzycia=? WHERE code=?"arytmetykacode)    
givePlayerMoney(plrilosc)
triggerClientEvent(plr"onClientAddNotification"plr"U?y?e? kodu na "..ilosc.." $ got?wki.""success")
elseif queryC.typ == "premium" then
arytmetyka uzycia 1
exports['ogrpg-db']:dbSet("UPDATE m_giveaway SET uzycia=? WHERE code=?"arytmetykacode)
triggerClientEvent(plr"onClientAddNotification"plr"U?y?e? kodu na konto premium.""success")
end
end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-10-28, 08:15


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Po co robisz dwa zapytania? To co podaje gracz w haslo to code, tak?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-10-28, 10:34


Pyrek24







Wiek: 25
Na forum: 3438 dni
Posty: 546
Nick w MP: Pyrek

Piwa: 10

Respekt: 50

Has?o to code tak, w pierwszym zapytaniu pobieram warto?? code, a w drugim j? uzupe?niam.

[ Dodano: 2020-10-28, 10:51 ]
Wilq usun??em pierwszy eksport, teraz dane pobiera z warto?ci 'haslo'. Teraz, gdy wpisz? komend? z 'codem', kt?ry jest w tabeli nic si? nie wykonuje. 0 b??d?w.

addCommandHandler("uzyj", function(plrcmdhaslo)
local queryC exports["DB2"]:pobierzWyniki("SELECT * FROM m_giveaway WHERE code=?"haslo)
for kv in ipairs(queryC) do
code v.code
ilosc v.ile
uzycia v.uzycia
typ v.typ


if haslo ~= code then 
triggerClientEvent(plr"onClientAddNotification"plr"Podany kod nie istnieje.""error")
return end


if tonumber(uzycia) <= 1 then
triggerClientEvent(plr"onClientAddNotification"plr"Podany kod zosta? ju? wykorzystany.""error")
return end

if queryC.typ == "money" then
arytmetyka uzycia 1
exports['ogrpg-db']:dbSet("UPDATE m_giveaway SET uzycia=? WHERE code=?"arytmetykacode)    
givePlayerMoney(plrilosc)
triggerClientEvent(plr"onClientAddNotification"plr"U?y?e? kodu na "..ilosc.." $ got?wki.""success")
elseif queryC.typ == "premium" then
arytmetyka uzycia 1
exports['ogrpg-db']:dbSet("UPDATE m_giveaway SET uzycia=? WHERE code=?"arytmetykacode)
triggerClientEvent(plr"onClientAddNotification"plr"U?y?e? kodu na konto premium.""success")
end
end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-10-28, 11:23


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

No ale teraz jak masz jeden wiersz z bazy danych do nie robisz p?tli tej for k, v bo to nie jest tabela. Czyli musisz wr?ci? do u?ywania queryC a nie v.

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Pyrek24
Wysłany: 2020-10-28, 11:35


Pyrek24







Wiek: 25
Na forum: 3438 dni
Posty: 546
Nick w MP: Pyrek

Piwa: 10

Respekt: 50

Bardzo dzi?kuje za pomoc !

Postaw piwo autorowi tego posta
 

 
Tagi: rekordy
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Rekordy Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku