[Include] j_mysql - Utilizaciуn de MySQL sencilla [R7]
#1

j_mysql

Bien, les vengo a presentar este include que fue realizado por mi el dнa de hoy. El objetivo principal del mismo es simplificar las funciones de MySQL para poder ahorrar lнneas, espacio y demбs. Los stock's son bastante parecidos a las funciones de dini (Por ejemplo: Dini_Int - MySQL_Int) lo que cambia es que al estar enlazado el GM con una base de datos se pueden realizar muchas mбs funciones.

Funciones:
  • MySQL_ConnectTo
  • MySQL_Switch_Table
  • Change_Row
  • Table_Rename
  • Drop_Table
  • Drop_Column
  • MySQL_Insert
  • MySQL_String
  • MySQL_Float
  • MySQL_Int
  • MySQL_Close_All


Como verбn las funciones estбn en ingles el motivo de esto es que planeo publicarlas en el foro ingles etc.
Bueno, tambiйn las funciones supongo que son bastante simples de explicar pero les darй una pequeсa guнa con los parбmetros de cada una y una breve explicaciуn de su funciуn.
  • MySQL_ConnectTo
Parбmetros:
Код:
(MySQL_Host[], MySQL_User[], MySQL_Database[], MySQL_Password[], Table[])
La utilidad de esta funciуn es la de conectar el servidor a la base de datos, podrбn notar que tiene un parбmetro mбs que es llamado 'Table' el cual sirve para determinar la tabla con la que se va a trabajar. El motivo de esto es que con este include se pueden manipular varias tablas de manera IG mediante comandos utilizando sscanf o strcmp.
Un ejemplo de como se usa:
pawn Код:
public OnGameModeInit()
{
MySQL_ConnectTo("localhost","root", "db", "", "Hola");
return 1;
}
  • MySQL_Switch_Table
Parбmetros:
Код:
(table[])
Estб funciуn cambia de una tabla a otra, se puede utilizar en diversos scripts para poder manipular varias tablas al mismo tiempo.
Ejemplo:
pawn Код:
zcmd(ctabla, playerid ,params[])
{
if(!sscanf(params, "s[30]", params[0]))
{
MySQL_Switch_Table(params[0]);
new s[64]; format(s, sizeof(s), "Cambiaste a la tabla %s", params[0]);
SendClientMessage(playerid, -1, s);
}
return 1;
}
  • Change_Row
Parбmetros:
Код:
(row[], torow[], type[], lenght)
row = El nombre de la fila que se quiere cambiar
torow = El nombre que se le pondrб a la fila (Se puede poner el mismo que en row si no se quiere cambiar)
type = El tipo de contexto que tendrб la fila (FLOAT, VARCHAR, INT etc...)
lenght = La longitud de valores que tendrб la fila

Ejemplo:
pawn Код:
CambiarFila()
{
Change_Row("fila1", "fila2", "VARCHAR", 30);
mysql_function_query(MySQLInfo[MySQL_Table], "UPDATE `tabla` SET `fila2` = 'OLA'", false, "OnQueryResponse", "ii", playerid);
return 1;
}
  • Table_Rename
Parбmetros
Код:
(name[], newname[])
Name = El nombre de la tabla
newname = El nuevo nombre de la tabla.

La idea de esta funciуn es la de cambiarle el nombre a una tabla en la base de datos.

Ejemplo:
pawn Код:
stock SwitchName()
{
Table_Rename("tabla", "tabla2");
SetTimer("SwitchName", 60000*30, false);
return 1;
}
  • Drop_Table
Parбmetros:
Код:
(tablename[])
tablename = La tabla que queremos desechar.

Explicaciуn: La idea de esta funciуn es la de desechar una tabla que no nos sirva por X proposito.

Ejemplo:
pawn Код:
zcmd(tirartabla, playerid, params[])
{
if(sscanf(params, "s[64]", params[0])) return SendClientMessage(playerid, -1, "/tirartabla <nombre>");
{
Drop_Table(params[0]);
}
return 1;
}
  • Drop_Column
Parбmetros:

Код:
(column[])
column = El nombre de la columna a destruir.

La idea de esta funciуn es destruir una columna en caso de que este mal hecha o no sirva.
  • MySQL_Insert
Parбmetros:

Код:
(field[],field1[],field2[], field3[], value[],value1[],value2[],value3[])
field = El primer campo a insertar.
field1 = El segundo campo a insertar
field2 = El tercer campo a insertar
field3 = El cuarto campo a insertar.

-
value = El primer valor
value1 = el segundo valor.
value2 = El tercer valor
value3 = El cuarto valor

Nota: Todos los valores estбn incluidos con formato %s por ende deben ser colocadas como una string.

Explicaciуn:

La idea de esta funciуn es la de insertar en la tabla ciertos campos con determinados valores. Util para sistemas de registros.
  • MySQL_String
Parбmetros:
Код:
(field[], string[])
field = Donde se ingresarб el texto
string = El texto a ingresar.

La idea de esta funciуn es la de insertar una string en un determinado campo.
  • MySQL_Float
Parбmetros:
Код:
(field[], Float:float)
field = En donde se ingresarб el nъmero decimal
Float:float = El nъmero a ingresar.

La idea de esta funciуn es la de manipular float's para la utilizaciуn de coordenadas o distintas funciones.
  • MySQL_Int
Parбmetros:

Код:
(field, int)
Field = El campo donde se ingresarб el nъmero entero.
int = El nъmero a ingresar.

La utilizaciуn de esta funciуn se refiere a almacenar distintos nъmeros naturales.
  • MySQL_Close_All
Parбmetros:

Код:
(N/A)
Esta funciуn cierra toda la conexiуn con la base de datos y tambiйn la consola.

Bugs:
N/A

Descarga:

Nota: El include utiliza el plugin MySQL - R7 de BlueG (post) y tambiйn el a_mysql.inc en caso de no tenerlos colocados en include no funcionarб.
Reply
#2

muy bueno, yo tenia pensado hacer lo mismo pero en sqlite ja.

Saludos.
Reply
#3

pawn Код:
1023.2022.302
Lindo flotante...

pawn Код:
MySQL_Insert
Esta funciуn solamente la puedes usar si es que vas a insertar en 4 filas... pero si quieres hacerlo en 5, 3 u otro valor diferente a 4, no podrбs...
Reply
#4

Ohh.. muy bueno...

Venga un +rep.
Reply
#5

Muy bueno. Es algo al estilo y_ini, facilita mucho el trabajo eh, +rep
Reply
#6

Quote:
Originally Posted by DesingMyCry
Посмотреть сообщение
pawn Код:
1023.2022.302
Lindo flotante...

pawn Код:
MySQL_Insert
Esta funciуn solamente la puedes usar si es que vas a insertar en 4 filas... pero si quieres hacerlo en 5, 3 u otro valor diferente a 4, no podrбs...
Lo sй, despuйs harй un par de funciones mбs respecto al query de Insert
Reply
#7

їEn serio? Puede que para algunas personas sea bastante ъtil, pero yo personalmente, prefiero hacerlo manualmente. їPor quй? Para practicar SQL, y aprender tйcnicas nuevas. їPor quй? Porque estudio programaciуn y me viene bien.

Saludos.
Reply
#8

Quote:
Originally Posted by [DOG]irinel1996
Посмотреть сообщение
їEn serio? Puede que para algunas personas sea bastante ъtil, pero yo personalmente, prefiero hacerlo manualmente. їPor quй? Para practicar SQL, y aprender tйcnicas nuevas. їPor quй? Porque estudio programaciуn y me viene bien.

Saludos.
Jahh,.. quien lo dirнa, no? como es que un juego multiplayer como samp nos haya abierto el mundo de la programaciуn... o por lo menos yo, antes no sabia ni que era un cуdigo binario y ahora estoy aprendiendo el lenguaje ensamblador.. xD. pero igual solo lo hago para aprender aunque no sea mi fuerte y aunque no me gusta siempre viene bien aprender algo nuevo... GRACIAS SAMP...

o mejor dicho GRACIAS PAWN...

x'D
Reply
#9

Quote:
Originally Posted by xSDx
Посмотреть сообщение
muy bueno, yo tenia pensado hacer lo mismo pero en sqlite ja.

Saludos.
Te ganaron de mano, йste lo hicieron ayer: https://sampforum.blast.hk/showthread.php?tid=436957
Reply
#10

Quote:
Originally Posted by DeadSkyTkb
Посмотреть сообщение
Te ganaron de mano, йste lo hicieron ayer: https://sampforum.blast.hk/showthread.php?tid=436957
me referia a sqlite, no mysql.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)