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

Wysłany: 2015-01-29, 16:47


KukiX







Wiek: 34
Na forum: 6718 dni
Posty: 567

Piwa: 17560

Respekt: 160
Respekt: 160Respekt: 160

Lepiej skorzysta? z sqllite lub mysql.
Wed?ug mnie jest pro?ciej i o wiele bardziej si? nadaje do tego typu rzeczy.
XML nadaje si? tylko do zapisywania jaki? ustawie? po stronie klienta itp.

Jak nie ograniasz funkcji db to mo?esz skorzysta? z db2 xyzzyrp.
https://github.com/lpiob/MTA-XyzzyRP/tree/master/resources/%5BXyzzyRP%5D/DB2
Przyk?ad u?ycia skopiowany z innego forum:

local dbmanager=exports["DB2"]

-- wysylanie zapytania do serwera mysql
dbmanager:zapytanie("UPDATE tabela SET cos=? WHERE id=?""wynikcos"1)

-- pobieranie jednego rekordu
local data=dbmanager:pobierzWyniki("SELECT cos FROM tabela WHERE id=? LIMIT 1;"1)
outputDebugString(data.cos) -- wyswietlenie zawartosci kolumny 'cos'

-- pobieranie wiecej niz jednego rekordu
local data=dbmanager:pobierzTabeleWynikow("SELECT cos FROM tabela")
for i,v in pairs(data) do
   outputDebugString(v.cos) -- wyswietlenie zawartosci kolumny 'cos'
end


Podpis
Moje skrypty MTA:
¤PlayDM
¤Mini-Games v0.2
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-29, 16:51


Wielebny







Wiek: 41
Na forum: 5498 dni
Posty: 257
Nick w MP: Wielebny

Piwa: 1690

Respekt: 180
Respekt: 180Respekt: 180

Luki, tak na marginesie - ten return u?yty w ?rodku funkcji powoduje ?e xmlUnloadFile nie jest wywo?ywane, co w efekcie doprowadza do wycieku pami?ci.

A odno?nie zwracania wielu warto?ci to - zbieraj wyniki i zwr?? je na koncu funkcji:

function xml_pracownicy (frakcja)
local pracownicy={}
local xml xmlLoadFile "config/Pracownicy.xml")
if xml  then
        local file xmlFindChild (xml,frakcja,0)
            for i,lista_pracownikow in ipairs (xmlNodeGetChildren(file)) do
                id xmlNodeGetAttribute (lista_pracownikow,"id")
                login xmlNodeGetAttribute (lista_pracownikow,"login")
                stanowisko xmlNodeGetAttribute (lista_pracownikow,"ranga")
                praca xmlNodeGetAttribute (lista_pracownikow,"pracuje")
                table.insert(pracownicy, {idloginstanowiskopraca})
            end
    end
xmlUnloadFile(xml)    
return pracownicy
end


Z tym ?e faktycznie, XML ?rednio b?dzie si??nadawa?, szczeg?lnie je?li b?dziesz mia? du?o pracownik?w i/lub b?dziesz chcia? cz?sto te dane przetwarza?.

Baza danych z odpowiednimi indeksami b?dzie niepor?wnywalnie szybsza.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-29, 17:17


luki123luki123

Place Game






Wiek: 28
Na forum: 5275 dni
Posty: 1948
Nick w MP: LuKiO

Piwa: 6101

Respekt: 611
Respekt: 611Respekt: 611

Chodzi o te SELECT , UPDATE itd. Funkcje bede umia? uzywywa? ale tego wogule i rozumiem.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-29, 17:23


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

SQL - j?zyk kwerend
MySQL, SQLite - systemy zarz?dzania baz? danych

Nie mylcie tych poj?? :x

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-29, 17:24


luki123luki123

Place Game






Wiek: 28
Na forum: 5275 dni
Posty: 1948
Nick w MP: LuKiO

Piwa: 6101

Respekt: 611
Respekt: 611Respekt: 611

Narazie zostan? przy xml. W pliczku b?dzie nie wi?cej ni? 100 rekord?w.

Postaw piwo autorowi tego posta
 

 
Tagi: funkcja :: return :: for
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Funkcja return + for 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