[Duda] Como manejar variables booleanas
#1

Buen dнa, tarde o noche, el dнa de hoy me preguntaba si alguien me podrнa explicar, pero mбs que eso, darme solamente un ejemplo de como trabajar con variables booleanas en un almacenamiento mysql. Con un ejemplo bastarнa mбs que una explicaciуn.

O tambiйn una aclaraciуn de si esto es posible o no.
Reply
#2

Si puedes, mysql lo toma como un entero pequeсo (1) y lo guarda como 1(true) o 0(false)
Y para leerlo, un ejemplo
pawn Код:
Variable_Booleana[playerid] = !!cache_get_row_int(0, 1, ID_Conexion);//Los !! convierten el entero que te devolviу MySQL a booleano
Un ejemplo:
Lectura
pawn Код:
mysql_format(ID_Conexion, query, sizeof(query), \
    "SELECT Contrasena, Idioma, Nivel FROM Usuarios WHERE Nombre_Jugador='%s'", Jugador[playerid][Nombre_J]);
    result = mysql_query(ID_Conexion, query);
Jugador[playerid][Idioma] = !!cache_get_row_int(0, 1, ID_Conexion);//Como tengo solo dos idiomas en mi servidor, uso una variable de tipo booleana y obtengo el idioma del jugador desde la base de datos que puede valer 0 (INGLES) o 1 (ESPANOL) en entero y lo convierto a booleano con los !!
Escritura:
pawn Код:
stock CrearCuenta(const playerid)
{
    new query[256];//256 por que uso Whirlpool ._. antes de ...
    mysql_format(ID_Conexion, query, sizeof(query), "INSERT IGNORE INTO Usuarios(Nombre_Jugador,\
    Contrasena, Idioma, Fecha_Registro) VALUES('%s', '%s', %b, NOW())"
, Jugador[playerid][Nombre_J], Jugador[playerid][Contrasena], Jugador[playerid][Idioma]);//Almaceno el idioma como tipo bool (%b) y MySQL lo convierte a 0 o 1 y lo guarda como tipo entero
    mysql_query(ID_Conexion, query, false);
}
Creo que sabes ya como crear campos bool en MySQL si no responde
Espero haberte ayudado
Reply
#3

Quote:
Originally Posted by Su37Erich
Посмотреть сообщение
Si puedes, mysql lo toma como un entero pequeсo (1) y lo guarda como 1(true) o 0(false)
Y para leerlo, un ejemplo
pawn Код:
Variable_Booleana[playerid] = !!cache_get_row_int(0, 1, ID_Conexion);//Los !! convierten el entero que te devolviу MySQL a booleano
Un ejemplo:
Lectura
pawn Код:
mysql_format(ID_Conexion, query, sizeof(query), \
    "SELECT Contrasena, Idioma, Nivel FROM Usuarios WHERE Nombre_Jugador='%s'", Jugador[playerid][Nombre_J]);
    result = mysql_query(ID_Conexion, query);
Jugador[playerid][Idioma] = !!cache_get_row_int(0, 1, ID_Conexion);//Como tengo solo dos idiomas en mi servidor, uso una variable de tipo booleana y obtengo el idioma del jugador desde la base de datos que puede valer 0 (INGLES) o 1 (ESPANOL) en entero y lo convierto a booleano con los !!
Escritura:
pawn Код:
stock CrearCuenta(const playerid)
{
    new query[256];//256 por que uso Whirlpool ._. antes de ...
    mysql_format(ID_Conexion, query, sizeof(query), "INSERT IGNORE INTO Usuarios(Nombre_Jugador,\
    Contrasena, Idioma, Fecha_Registro) VALUES('%s', '%s', %b, NOW())"
, Jugador[playerid][Nombre_J], Jugador[playerid][Contrasena], Jugador[playerid][Idioma]);//Almaceno el idioma como tipo bool (%b) y MySQL lo convierte a 0 o 1 y lo guarda como tipo entero
    mysql_query(ID_Conexion, query, false);
}
Creo que sabes ya como crear campos bool en MySQL si no responde
Espero haberte ayudado
Gracias, sabнa algo de esto, el ъnico inconveniente que tenнa era el uso de " !! ", ya que no sabнa si lo estaba haciendo bien, gracias c: .
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)