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 :D