Page 2 of 3
Re: MySQL place
Posted: 2011 Oct 15 22:48
by psychical
Srr, net ten kur daviau reikejo irasyti pozicija, kad paimtu nick, dabar irasius nika duos pozicija:
Code: Select all
SET @rownum := 0;SELECT * FROM (SELECT @rownum := @rownum+1 AS POSITION, Kills, SteamID FROM `lentele` ORDER BY `Kills` DESC) AS `lentele` WHERE `SteamID` = 'zaidejo_steamid';
Re: MySQL place
Posted: 2011 Oct 15 22:52
by addinol
O kaip pilnai šita funkcija turėtų atrodyti ? t.y. ne tik SQL sintaksė bet ir iš pawn pusės ?

Re: MySQL place
Posted: 2011 Oct 15 22:58
by psychical
addinol wrote:O kaip pilnai šita funkcija turėtų atrodyti ? t.y. ne tik SQL sintaksė bet ir iš pawn pusės ?

teks palaukti, truputi, ne taip lengva parasyti, jei spesiu parasysiu, kol kas nors neparase ;D
-- 2011 Spa 15 23:08 --
Code: Select all
new pozicija[33], isviso; SaveTimeMysql(id){ new Handle:Query = SQL_PrepareQuery(SqlConnection, "SELECT * FROM `lentele`"); if(SQL_Execute(Query)) isviso = SQL_NumResults(Query); uzkraunam(id); set_task(0.1, "to_chat", id); } uzkraunam(id){ static szQuery[ 128 ], iData[ 1 ]; SQL_PrepareQuery(SqlConnection, "SET @rownum := 0"); formatex(szQuery, 127, "SELECT * FROM (SELECT @rownum := @rownum+1 AS POSITION, Kills, SteamID FROM `lentele` ORDER BY `Kills` DESC) AS `lentele` WHERE `SteamID` = '%s'", SteamID); iData[ 0 ] = id; SQL_ThreadQuery( g_hTuple, "paimam", szQuery, iData, 1 );} public paimam(iFailState, Handle:hQuery, szError[ ], iError, iData[ ], iDataSize, Float:fQueueTime) { if(iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED) { log_amx("%s", szError); return; } else { new id = iData[ 0 ]; new ColPos = SQL_FieldNameToNum(hQuery, "POSITION") while (SQL_MoreResults(hQuery)) { pozicija[id] = SQL_ReadResult(hQuery, ColPos); SQL_NextRow(hQuery) } } } public to_chat(id) client_print(id, print_chat, "Tu esi %d is %d.", pozicija[id], isviso);
Nezinau, bandyk ,bet faktas jog mysql pasirinkima darykis pagal save. Atmink, nesu tikras, todel nekopijuok issisiepes.
Re: MySQL place
Posted: 2011 Oct 15 23:22
by addinol
O kodėl SQL_PrepareQuery ? kur tarkim "SELECT * lentele", nes pas mane SqlConnection tik vienam public'e padarytas o ne per visą pluginą, nes pas mane plugine 5 connectionai daromi į skirtingas lenteles.
Nereiktų naudoti
SQL_ThreadQuery ?
EDIT: beje ar čia nebus to laiko ta prasme jog reikės laukti kol serveris suskaičiuos tą vietą, nes ankščiau buvau padaręs su MYSQL funkcija kažkaip, bet tekdavo laukti 2-3sekundes, kol resultatą gaudavau.
Re: MySQL place
Posted: 2011 Oct 15 23:26
by psychical
addinol wrote:O kodėl SQL_PrepareQuery ? kur tarkim "SELECT * lentele", nes pas mane SqlConnection tik vienam public'e padarytas o ne per visą pluginą, nes pas mane plugine 5 connectionai daromi į skirtingas lenteles.
Nereiktų naudoti
SQL_ThreadQuery ?
nzn, su mysql dar dirbu neilgai, todel nzn ;D
Re: MySQL place
Posted: 2011 Oct 15 23:36
by hleV
Nieko protingo psychical čia neparašė. Visiškai.
Re: MySQL place
Posted: 2011 Oct 15 23:41
by addinol
o hleV, galbūt galėtum pažiūrėti savo parašytą kodą? nes kažkodėl kaip sakiau man serveris "išsijungia" be error'o ir nieko, per paleidimą rodo jog nieko neįvyko, bet prisijungti neina ir rodo off.
Re: MySQL place
Posted: 2011 Oct 15 23:58
by psychical
hleV wrote:Nieko protingo psychical čia neparašė. Visiškai.
Jeigu tu nesugebejai pirmai, pabandziau as, pagal tave as nieko protingo neparasiau, tai dabar rasyk tu kazka protinga...
Re: MySQL place
Posted: 2011 Oct 16 00:01
by hleV
psychical wrote:hleV wrote:Nieko protingo psychical čia neparašė. Visiškai.
Jeigu tu nesugebejai pirmai, pabandziau as, pagal tave as nieko protingo neparasiau, tai dabar rasyk tu kazka protinga...
[php] while (SQL_MoreResults(query)) { SQL_ReadResult(query, 0, steamId, charsmax(steamId)); TrieSetCell(Positions, steamId, Entries++); }[/php]
Keičiam į
[php] while (SQL_MoreResults(query)) { SQL_ReadResult(query, 0, steamId, charsmax(steamId)); TrieSetCell(Positions, steamId, Entries++); SQL_NextRow(query); }[/php]
ir viskas.
Re: MySQL place
Posted: 2011 Oct 16 00:13
by addinol
Dėkui, atrodo veikia ;*
-- 2011 Spa 16 01:16 --
aj ne visdelto neveikia tiksliai, rodo visad tą pačią vietą, nors pagal viską turėčiau būti pirmas. aj jo reik updatinti juk kiekvieną kart kai nušauna kas nors ką nors
