Szerző Téma: MySQL adatlekérés.  (Megtekintve 1321 alkalommal)

MySQL adatlekérés.
« Dátum: 2015. augusztus 30. - 20:01:23 »
0 Show voters
Sziasztok.
Előszőr is elnézést szeretnék kérni, hogy újra titeket zaklatlak, de nem haladok előre.
Szóval, van egy SQL tábla a \'jatekosok\' nevű tábla melyen belül van egy \'Frakció\' oszlop. Hogyan tudom például kilistázni mindazon játékosokat, akiknek frakció idjük egy, (őket egy DIALOG_STYLE_LIST-be belepakolni), miután a neveket a dialogban kijelezte utána ezek adatait lehessen módosítani, értem ezt rangra, kirugás, vagy éppen más dolgok.
Érthetőbben :
/leader parancs után kilistázza a frakciótagok neveit, majd ha rákattintunk egyre azt lefokozhatjuk, előléptethetjük, vagy éppen kirughatjuk
Előre is köszönöm azoknak, akik segítenek, és megköszönném, ha egy példával szemléltetnétek kérdésem.
Tisztelettem Szilikee  :wave:

MySQL adatlekérés.
« Válasz #1 Dátum: 2015. augusztus 31. - 20:48:34 »
+1 Show voters
Szia!
Nem vagyok valami nagy masta én sem, plusz siettem is a dologgal de remélem ad egy kis kezdő löketet!
Én a szerveremen így oldottam meg a dolgot, ami a lényeg, hogy én a szerver adminokat kértem le, nálad akkor értelem szerűen csak cserélgetni kell a dolgokat, valamint a SendClietMessage helyett dialogot kell mutatnod, viszont abban nem tudom a listát hogyan lehet összedobni vagy is sejtésem van csak sietek most. Esetleg lehet más is hozzá röffen a támához! :)
Szóval nálam ez a kód:
Elejére kell egy enum
 

enum eJatekosInfo
{
valami[128]
}
new JatekosInfo[MAX_PLAYERS][eJatekosInfo];

 
Aztán valahova jöhet a forward illetve a public. (én csak így hívom bocsi mindenkitől :D)
 

forward adminok(playerid);
public adminok(playerid)
{
new text[128];
if(!cache_get_row_count()) return printf(\"cache_get_row_count returned false. Nincsennek betöltendő sorok.\"); //egyértelmű
for(new i, j = cache_get_row_count(); i < j ; i++)                   // egy gyönyörű forciklussal végig mész a lekérdezet sorokon
{
    new Valami[128];                                                           // létrehozol egy változót amibe a lekérdezést teszed
cache_get_field_content(i,\"Nev\",Valami);                        // stringet csak így tudsz lekérni sql-ből
JatekosInfo[valami] = Valami;                                   // belebúrod az enumba amit megalkottál :D
    format(text,sizeof(text),\"%s admin\",JatekosInfo[valami]); // itt pedig formázol egy szöveget és kiíratod
    SendClientMessage(playerid,GREEN,text);                          // majd pedig elküldöd ja itt nekem vannak színek defineolva!
}
return 1;
}

 
És a parancs
 

CMD:szint(playerid,params[])                        // én zcmd-t használok ha te nem akkor includeolnod kell ezt is
{
    mysql_tquery(kapcs,\"SELECT Nev FROM jatekosok WHERE alevel > 1\",\"adminok\"); //itt pedig szépen lekérdezelaz adminok eljárással
    return 1;
}

 
Én teszteltem nekem szépen ment, ha valami nem jó várom az észrevételeket én is, remélem azért nagy hülyeséget nem írtam. :DD
Üdvözlettel: Justrics

MySQL adatlekérés.
« Válasz #2 Dátum: 2015. szeptember 01. - 12:36:28 »
0 Show voters
Szia. Köszönöm a válaszod. Gyors nyomok rá egy tesztet, és ha van valami infó pötyögök  :)

MySQL adatlekérés.
« Válasz #3 Dátum: 2015. szeptember 01. - 13:05:17 »
0 Show voters
Szia! Szívesen, remélem segít valamit, majd írj.

MySQL adatlekérés.
« Válasz #4 Dátum: 2015. szeptember 01. - 13:43:59 »
0 Show voters
Küldtem PÜ :+

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal