Simple problem -
StR_MaRy - 21.09.2016
hey guys i have a /adminlist where it shows Name - AdminLevel - StaffPoints - HoursPlayed and it shows only if you have adminlevel 1 or bigger but it shows Players without admin , can some help what is wrong with this code ?
Код HTML:
CMD:adminlist(playerid, params[])
{
if(gLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_ERROR, "Tu nu esti logat si nu poti sa folosesti aceasta comanda!");
if(!IsManager(playerid)) return SendClientMessage(playerid, COLOR_ERROR, "Nu ai gradul necesar ca sa folosesti aceasta comanda!");
const max_sort = 10;
new string[500 + (MAX_PLAYER_NAME+1)*max_sort];
new Cache:result = mysql_query(handle, "SELECT * FROM `players` WHERE `AdminLevel` + `StaffPoints` + `HoursPlayed` > 2 ORDER BY `AdminLevel` DESC LIMIT 10");
new tmp = cache_num_rows();
if(tmp)
{
strcat(string,"Nume\tAdmin Level\tPuncte Staff\tOre jucate\n");
for(new i,a[11],c[11],h[11],n[MAX_PLAYER_NAME]; i<tmp; i++)
{
cache_get_field_content(i, "Name", n);
cache_get_field_content(i, "AdminLevel", c);
cache_get_field_content(i, "StaffPoints", a);
cache_get_field_content(i, "HoursPlayed", h);
format(string,sizeof(string),"%s%s\t%d\t%d\t%d\t%d\n",string,n,strval©,strval(a),strval(h));
}
}
cache_delete(result);
if(string[0] == EOS) return SendClientMessage(playerid, COLOR_ERROR, "Nici un admin in baza de date!");
ShowPlayerDialog(playerid, 525242, DIALOG_STYLE_TABLIST_HEADERS, "Lista adminilor", string, "Iesi", "");
return 1;
}
Respuesta: Simple problem -
mcreed - 21.09.2016
PHP код:
CMD:adminlist(playerid, params[])
{
if(gLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_ERROR, "Tu nu esti logat si nu poti sa folosesti aceasta comanda!");
if(!IsManager(playerid)) return SendClientMessage(playerid, COLOR_ERROR, "Nu ai gradul necesar ca sa folosesti aceasta comanda!");
const max_sort = 10;
new string[500 + (MAX_PLAYER_NAME+1)*max_sort];
new Cache:result = mysql_query(handle, "SELECT * FROM `players` WHERE `AdminLevel` + `StaffPoints` + `HoursPlayed` > 2 AND `AdminLevel` > 0 ORDER BY `AdminLevel` DESC LIMIT 10");
new tmp = cache_num_rows();
if(tmp)
{
strcat(string,"Nume\tAdmin Level\tPuncte Staff\tOre jucate\n");
for(new i,a[11],c[11],h[11],n[MAX_PLAYER_NAME]; i<tmp; i++)
{
cache_get_field_content(i, "Name", n);
cache_get_field_content(i, "AdminLevel", c);
cache_get_field_content(i, "StaffPoints", a);
cache_get_field_content(i, "HoursPlayed", h);
format(string,sizeof(string),"%s%s\t%d\t%d\t%d\t%d\n",string,n,strval(c),strval(a),strval(h));
}
}
cache_delete(result);
if(string[0] == EOS) return SendClientMessage(playerid, COLOR_ERROR, "Nici un admin in baza de date!");
ShowPlayerDialog(playerid, 525242, DIALOG_STYLE_TABLIST_HEADERS, "Lista adminilor", string, "Iesi", "");
return 1;
}
I Only modify the query
PHP код:
SELECT * FROM `players` WHERE `AdminLevel` + `StaffPoints` + `HoursPlayed` > 2 AND `AdminLevel` > 0 ORDER BY `AdminLevel` DESC LIMIT 10
EDIT
or
PHP код:
SELECT * FROM `players` WHERE `AdminLevel` + `StaffPoints` > 2 AND `HoursPlayed` > 2 ORDER BY `AdminLevel` DESC LIMIT 10
or
PHP код:
SELECT * FROM `players` WHERE `AdminLevel` > 0 AND `StaffPoints` > 2 AND `HoursPlayed` > 2 ORDER BY `AdminLevel` DESC LIMIT 10
I did not understand very well what you want to do, so you leave multiple queries to get what you want.
Re: Simple problem -
Kaliber - 21.09.2016
...dude you can not use this code for everything
Do this:
PHP код:
CMD:adminlist(playerid, params[])
{
if(gLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_ERROR, "Tu nu esti logat si nu poti sa folosesti aceasta comanda!");
if(!IsManager(playerid)) return SendClientMessage(playerid, COLOR_ERROR, "Nu ai gradul necesar ca sa folosesti aceasta comanda!");
const max_sort = 10;
new string[42 + (MAX_PLAYER_NAME+25)*max_sort];
new Cache:result = mysql_query(handle, "SELECT `Name`,`AdminLevel`,`StaffPoints`,`HoursPlayed` FROM `players` WHERE `AdminLevel` > 0 ORDER BY `AdminLevel` DESC");
new tmp = cache_num_rows();
if(tmp)
{
strcat(string,"Nume\tAdmin Level\tPuncte Staff\tOre jucate\n");
for(new i,a[11],c[11],h[11],n[MAX_PLAYER_NAME]; i<tmp; i++)
{
cache_get_field_content(i, "Name", n);
cache_get_field_content(i, "AdminLevel", c);
cache_get_field_content(i, "StaffPoints", a);
cache_get_field_content(i, "HoursPlayed", h);
format(string,sizeof(string),"%s%s\t%d\t%d\t%d\t%d\n",string,n,strval(c),strval(a),strval(h));
}
}
cache_delete(result);
if(string[0] == EOS) return SendClientMessage(playerid, COLOR_ERROR, "Nici un admin in baza de date!");
ShowPlayerDialog(playerid, 525242, DIALOG_STYLE_TABLIST_HEADERS, "Lista adminilor", string, "Iesi", "");
return 1;
}
Re: Simple problem -
StR_MaRy - 21.09.2016
thx both of you , it work in both mode's