top sql no me abre correctamente
#1
Hola que tal ! estoy pasando un top de PrepareQuery a ThreadQuery pero tengo un problema ya que el top simplemente no abre y no veo cual sea el problema del porque no abre.


Dejo partes del código ya que es extenso ojala me puedan ayudar.

el top que tenia antes era este:

https://forums.alliedmods.net/showthread.php?t=202522


Código PHP:
public checkPro15(id) {
    new 
szTabla[200], iData[2], iMap[64];
    
get_mapname(iMapcharsmax(iMap))

    
iData[0] = id;
    
iData[1] = PRO_15;

    
formatex(szTablacharsmax(szTabla), "SELECT * FROM '%s' WHERE mapname='%s' ORDER BY time ASC LIMIT 15;"szProiMap)
    
SQL_ThreadQuery(g_SqlTuple"DataHandler"szTablaiData2)

    
/*
    if(g_block_top_menu[0]) {
        printf(id, "!yEl Pro15 esta vacio.");
        return PLUGIN_HANDLED;
    }
    menu_display(id, g_pro15menu)
    return PLUGIN_HANDLED;
    */
}
public 
checkNub15(id) {
    new 
szTabla[200], iData[2], iMap[64];
    
get_mapname(iMapcharsmax(iMap))

    
iData[0] = id;
    
iData[1] = NUB_15;

    
formatex(szTablacharsmax(szTabla), "SELECT * FROM '%s' WHERE mapname='%s' ORDER BY time ASC LIMIT 15;"szNubiMap)
    
SQL_ThreadQuery(g_SqlTuple"DataHandler"szTablaiData2)

    
/*
    if(g_block_top_menu[1]) {
        printf(id, "!yEl Nub15 esta vacio.");
        return PLUGIN_HANDLED;
    }
    menu_display(id, g_nub15menu)
    */
    
return PLUGIN_HANDLED;
}
public 
DataHandler(failstateHandle:Queryerror[], error2Data[], datasizeFloat:time) {
    new 
id;
    
id Data[0];
    
    if(!
is_user_connected(id)) return;

    switch(
failstate) {
        case 
TQUERY_CONNECT_FAILED: {
            
log_to_file("SQL_LOG_TQ.txt""Error en la conexion al SQL [%i]: %s"error2error );
            return;
        }
        case 
TQUERY_QUERY_FAILED:
            
log_to_file("SQL_LOG_TQ.txt""Error en la consulta al SQL [%i]: %s"error2error );
    }
    switch(
Data[1])
    {
        case 
PRO_15
        { 
            new 
szBuffer[1536], isName[32], sPosition[5];
            new 
Float:iTimeFloat:iSeciMiniWeapon[32], iFecha[25];

            if(
SQL_NumResults(Query)) {

                
g_pro15menu menu_create("\r[\dKreedZ-CL\r]\w Pro15""h_pro15");
                
// g_block_top_menu[0] = 0;

                
while(SQL_MoreResults(Query)) {

                    
i++

                    
SQL_ReadResult(Query2sNamecharsmax(sName));
                    
SQL_ReadResult(Query3iTime)
                    
SQL_ReadResult(QuerySQL_FieldNameToNum(Query"weapon"), iWeaponcharsmax(iWeapon));
                    
SQL_ReadResult(QuerySQL_FieldNameToNum(Query"fecha"), iFechacharsmax(iFecha));

                    
iMin floatround(iTimefloatround_floor)/60
                    iSec 
iTime - (60*iMin);

                    
num_to_str(isPositioncharsmax(sPosition));

                    
formatex(szBuffercharsmax(szBuffer), "\r#%s \w%s \y%02d:%s%.5f \d[%s] \w%s"sPositionsNameiMiniSec 10 "0"""iSeciWeaponiFecha);
                    
menu_additem(g_pro15menuszBuffer);

                    
SQL_NextRow(Query);
                }
                
menu_setprop(g_pro15menuMPROP_NEXTNAME"Siguiente");
                
menu_setprop(g_pro15menuMPROP_BACKNAME"Atras");
                
menu_setprop(g_pro15menuMPROP_EXITNAME"Salir");
                
SQL_FreeHandle(Query);
            }
            
/*
            else
            {
                g_block_top_menu[0] = 1;
                SQL_FreeHandle(Query);
            }
            */
        
}
        case 
NUB_15:
        {
            new 
szBuffer[1536], isName[32], sPosition[5];
            new 
Float:iTimeFloat:iSeciMiniWeapon[32], iFecha[25];

            if(
SQL_NumResults(Query)) {

                
g_nub15menu menu_create("\r[\dKreedZ-CL\r]\w Nub15""h_nub15");
                
// g_block_top_menu[1] = 0;

                
while(SQL_MoreResults(Query)) {

                    
i++

                    
SQL_ReadResult(Query2sNamecharsmax(sName));
                    
SQL_ReadResult(Query3iTime)
                    
SQL_ReadResult(QuerySQL_FieldNameToNum(Query"weapon"), iWeaponcharsmax(iWeapon));
                    
SQL_ReadResult(QuerySQL_FieldNameToNum(Query"fecha"), iFechacharsmax(iFecha));

                    
iMin floatround(iTimefloatround_floor)/60
                    iSec 
iTime - (60*iMin);

                    
num_to_str(isPositioncharsmax(sPosition));

                    
formatex(szBuffercharsmax(szBuffer), "\r#%s \w%s \y%02d:%s%.5f \d[%s] \w%s"sPositionsNameiMiniSec 10 "0"""iSeciWeaponiFecha);
                    
menu_additem(g_nub15menuszBuffer);

                    
SQL_NextRow(Query);
                }
                
menu_setprop(g_nub15menuMPROP_NEXTNAME"Siguiente");
                
menu_setprop(g_nub15menuMPROP_BACKNAME"Atras");
                
menu_setprop(g_nub15menuMPROP_EXITNAME"Salir");
                
SQL_FreeHandle(Query);
            }
            
/*
            else
            {
                g_block_top_menu[1] = 1;
                SQL_FreeHandle(Query);
            }
            */
        
}
    }

Responder
#2
capas pueda ser la consulta pero a que te refieres con que no te abre ?
Responder
#3
El plugin del post de Kiske no tiene la conexión a la base de datos iniciada. Desconozco si tu plugin si. Por otro lado, la sintaxis de esas queries es solo valida para SQLite, si lo estas usando con MySQL va a fallar y ahi puede estar tu problema.

Por otro lado, el menu no abre porque nunca haces un menu_display
[Imagen: paypalqr.png]
Responder
#4
(04/01/2021, 06:28 PM)GeX~ escribió: capas pueda ser la consulta pero a que te refieres con que no te abre ?

Resulta que el top lo abro por un comando de say y llamo a checkPro15 o checkNub15 y simplemente no abre


(05/01/2021, 08:28 AM)Neeeeeeeeeel.- escribió: El plugin del post de Kiske no tiene la conexión a la base de datos iniciada. Desconozco si tu plugin si. Por otro lado, la sintaxis de esas queries es solo valida para SQLite, si lo estas usando con MySQL va a fallar y ahi puede estar tu problema.

Por otro lado, el menu no abre porque nunca haces un menu_display

Respecto al la conexión a base de dato ya eso lo tengo hecho, respecto a si ocupo mysql no, no ocupo mysql ocupo sqlite y lo ultimo respecto al menu display eso lo coloco en checkPro15 y checkNub15 ? porque cuando lo coloco ahí se me cae el servidor sin dejar logs
Responder
#5
coloca el menu_display en el DataHandler despues de los menu_setprop.

Si eso no funciona fíjate si te esta dejando logs de error.
[Imagen: giphy.webp]

Panda Nuestro
Sistema de Cuentas MySQL/SQLite
Discord: FluffyDeveloper#4753

meTaLiCroSS escribió: Pero sin picarse po, todavía te molesta que te haya mandado a la mierda porque querias plugins de mi server? Mírate, seguí programando weas mulas después de años, tení que ser harto penca para esta wea, das pura pena Corazón

(22/01/2021, 02:55 PM)Skylar escribió: dios como me enferma que digas plugins cuando hablas de un solo plugin pendejo re pelotudo
Responder
#6
(05/01/2021, 12:42 PM)r0ma escribió: coloca el menu_display en el DataHandler despues de los menu_setprop.

Si eso no funciona fíjate si te esta dejando logs de error.

O que tarado era tan simple como eso jajaja mil gracias a ti y a los que respondieron.
Responder
#7
(05/01/2021, 03:42 PM)+rdNN! escribió: O que tarado era tan simple como eso jajaja mil gracias a ti y a los que respondieron.

solo te repetí lo que dijo nelson :d
[Imagen: giphy.webp]

Panda Nuestro
Sistema de Cuentas MySQL/SQLite
Discord: FluffyDeveloper#4753

meTaLiCroSS escribió: Pero sin picarse po, todavía te molesta que te haya mandado a la mierda porque querias plugins de mi server? Mírate, seguí programando weas mulas después de años, tení que ser harto penca para esta wea, das pura pena Corazón

(22/01/2021, 02:55 PM)Skylar escribió: dios como me enferma que digas plugins cuando hablas de un solo plugin pendejo re pelotudo
Responder
#8
aa es que con lo que me dijo el me imagine que iba en algún otro lugar como en los códigos que tengo tachado con /*
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)