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
Wilq, zrobi?em tak lecz dalej nie dzia?a. Ten sam b??d podany kod nie istnieje.
addCommandHandler("uzyj", function(plr, cmd, haslo)
local queryC = exports["DB2"]:pobierzTabeleWynikow("SELECT * FROM m_giveaway")
for k, v 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=?", arytmetyka, code)
givePlayerMoney(plr, ilosc)
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=?", arytmetyka, code)
triggerClientEvent(plr, "onClientAddNotification", plr, "U?y?e? kodu na konto premium.", "success")
end
end)
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.
Zrobi?em tak, po wpisaniu komendy nic si? nie dzieje, 0 b??d?w DB3.
addCommandHandler("uzyj", function(plr, cmd, haslo)
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 k, v 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=?", arytmetyka, code)
givePlayerMoney(plr, ilosc)
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=?", arytmetyka, code)
triggerClientEvent(plr, "onClientAddNotification", plr, "U?y?e? kodu na konto premium.", "success")
end
end
end)
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(plr, cmd, haslo)
local queryC = exports["DB2"]:pobierzWyniki("SELECT * FROM m_giveaway WHERE code=?", haslo)
for k, v 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=?", arytmetyka, code)
givePlayerMoney(plr, ilosc)
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=?", arytmetyka, code)
triggerClientEvent(plr, "onClientAddNotification", plr, "U?y?e? kodu na konto premium.", "success")
end
end
end)
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.
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