Raised This Month: $51 Target: $400
 12% 

Saber si existe en la DB


  
 
 
Thread Tools Display Modes
Author Message
thesnakebiter
Senior Member
Join Date: Oct 2011
Old 06-20-2012 , 15:30   Saber si existe en la DB
#1

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <sqlx>


new Handle:g_SqlTuple

new g_iMaxPlayers
new s_IP[60]
new 
s_MapName[32]
new 
s_nPlayers
new s_Hostname[64]

public 
plugin_init()
{
    
register_plugin("DB Test","1.0","TSB")
    
register_clcmd("say /crear","Load")
    
g_iMaxPlayers get_maxplayers()
    
g_SqlTuple SQL_MakeDbTuple("127.0.0.1","super","1234""newtest")
}
public 
Load()
{
    static 
szQuery[199];
    
Checks()
    
    
formatex(szQuerycharsmax(szQuery),"SELECT * FROM servers_online WHERE ip = '%s'"s_IP)
    
SQL_ThreadQuery(g_SqlTuple"LoadHandler"szQuery);
}
public 
LoadHandler(iFailStateHandle:hQueryszError[], iErrnumcData[], iSizeFloat:fQueueTime)
{
    static 
szQuery[199];
    
    if(
iFailState != TQUERY_SUCCESS)
        
log_amx(" SQL Error #%d - %s"iErrnumszError)
        
    if( !
SQL_NumResultshQuery ) )
    {
        
formatex(szQuerycharsmax(szQuery),"INSERT INTO servers_online (ip,map,online,name) VALUES ('%s','%s','%s/%s','%s')"s_IPs_MapName,s_nPlayers,g_iMaxPlayers,s_Hostname)
        
SQL_ThreadQuery(g_SqlTuple"LoadHandler"szQuery);
    }
    else
    {
        
formatex(szQuerycharsmax(szQuery),"UPDATE TABLE servers_online SET  map = '%s', online = '%s/%s', name = '%s' WHERE ip = '%s'"s_MapName,s_nPlayers,g_iMaxPlayers,s_Hostname,s_IP)
        
SQL_ThreadQuery(g_SqlTuple"LoadHandler"szQuery);
    }
        

No puse una funcion.
Lo que ocurre es que yo quiero comprobar si ya existe una entrada en la tabla de la base de datos con la ip del sv, intento con SELECT * FROM servers_online WHERE ip = 'IPDELSV' y con SQL_NumResults( hQuery ) pero se hace un loop infinito intentando todo el rato modificar la columna pero no la crea en caso de que no este.
thesnakebiter is offline
fearAR
Veteran Member
Join Date: Oct 2010
Old 06-20-2012 , 15:55   Re: Saber si existe en la DB
#2

Dirija el handler hacia otra función, si no claro que va a estar infinitamente enviando consultas.

Sí no otra seria utilizar una variable que vaya alternandole el valor cada vez que sea necesario.

PHP Code:
enum ESTADOS_VAR
{
    
ESTADO1 0,
    
ESTADO2,
    
ESTADO3
};

new 
ESTADOS_VAR VAR_ESTADO[33];

// Luego...

VAR_ESTADO id ] = ESTADO1;
// SQL_ThreadQuery...

// Dentro del Handler al que nos envia el thread.

if ( VAR_ESTADO id ] == ESTADO1 )
{
    
// Hago lo siguiente
    // Luego envio otra consulta...
    
VAR_ESTADO id ] = ESTADO2;
    
// SQL_ThreadQuery....
}
else if ( 
VAR_ESTADO id ] == ESTADO2 )
{
    
// Hago otra cosa...

Saludos...
__________________
~~~~ NPC AI ~~~~

[ Pathfinding - OK ]
[ Citizen AI - OK ]
[ Handle Weapons - --- ]
fearAR is offline
Send a message via MSN to fearAR
StickP0le
Senior Member
Join Date: Jan 2010
Location: cuantocabron.com
Old 06-20-2012 , 19:44   Re: Saber si existe en la DB
#3

fear ar, que significan los dos puntos despues de crear una variable? por ejemplo new hola:todobien[33]
__________________
Steam: stickp0le
StickP0le is offline
shinoda
Spanish Moderator
Join Date: Nov 2009
Location: ag_crossfire
Old 06-20-2012 , 20:07   Re: Saber si existe en la DB
#4

Quote:
Originally Posted by StickP0le View Post
fear ar, que significan los dos puntos despues de crear una variable? por ejemplo new hola:todobien[33]
Es una etiqueta, al igual que CsTeams:var.
shinoda is offline
Send a message via MSN to shinoda Send a message via Skype™ to shinoda
Neeeeeeeeeel.-
Some Guy Yellin'
Join Date: Jul 2010
Location: Argentina
Old 06-21-2012 , 02:10   Re: Saber si existe en la DB
#5

Quote:
Originally Posted by shinoda View Post
Es una etiqueta, al igual que CsTeams:var.
Todavía no pude entender para que sirven...
__________________
Neeeeeeeeeel.- is offline
Send a message via Skype™ to Neeeeeeeeeel.-
thesnakebiter
Senior Member
Join Date: Oct 2011
Old 06-21-2012 , 04:17   Re: Saber si existe en la DB
#6

fearAR,Gracias por tu respuesta, pero aun asi necesito saber si existe la entrada o no ;)

Last edited by thesnakebiter; 06-21-2012 at 07:08.
thesnakebiter is offline
r0ma
Senior Member
Join Date: Apr 2012
Location: Great Tomb of Nazarick
Old 06-21-2012 , 04:26   Re: Saber si existe en la DB
#7

PHP Code:
CREATE TABLE IF NOT EXISTS 
?
__________________
Discord:FluffyDeveloper#4753
Github: https://github.com/francoromaniello
AMX-ES: https://amxmodx-es.com/r0ma'
r0ma is offline
Send a message via MSN to r0ma
lucas_7_94
Leche Loco
Join Date: Mar 2009
Location: Argentina
Old 06-21-2012 , 04:52   Re: Saber si existe en la DB
#8

CREATE TABLE IF NO EXISTS
__________________
ATWWMH - MiniDuels
Madness is like gravity, just need a little push.
lucas_7_94 is offline
Send a message via Skype™ to lucas_7_94
r0ma
Senior Member
Join Date: Apr 2012
Location: Great Tomb of Nazarick
Old 06-21-2012 , 05:05   Re: Saber si existe en la DB
#9

Quote:
Originally Posted by thesnakebiter View Post
fearAR,Gracias por tu respuesta, pero aun asi necesito saber si existe la tabla o no ;)
no quiere saber si existe la tabla ahora ?-.-
__________________
Discord:FluffyDeveloper#4753
Github: https://github.com/francoromaniello
AMX-ES: https://amxmodx-es.com/r0ma'
r0ma is offline
Send a message via MSN to r0ma
thesnakebiter
Senior Member
Join Date: Oct 2011
Old 06-21-2012 , 07:08   Re: Saber si existe en la DB
#10

Sí, pero la tabla ya esta creada y me refiero a si existe la ip ya.Yo en las columnas guardo mapa,ip,jugadores,... solo me falta saber si existe esa ip en la tabla para que no me cree otra entrada con los mismos datos...
thesnakebiter is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 08:52.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode