Mensajes: 40
Temas: 14
Registro en: Jan 2020
Reputación:
0
22/01/2020, 10:10 PM
(Última modificación: 22/01/2020, 10:13 PM por Zeta. Edited 2 times in total.)
Hola, como se puede apreciar en el titulo, no se como guardar la variable fecha en mysql y/o sqlite, la tengo expresada así:
Código PHP: new g_fecha[33][32] get_time("%d/%m/%Y - %H:%M:%S", g_fecha[id], 32);
Pregunto esto puesto que intento guardarla así en el case LOGUEAR_CUENTA de la public DataHandler, y me manda un error:
Código PHP: [php]g_fecha[ id ] = SQL_ReadResult( Query, 5 ) //Error: Array must be indexed (variable "g_fecha")
Y, por ultimo, como registrarlo en la base de datos, por ejemplo:
Código PHP: /*MYSQL: CREATE TABLE cuentas ( id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , Usuario varchar(34) NOT NULL UNIQUE KEY, Password varchar(34) NOT NULL, Pj varchar(32) NOT NULL UNIQUE KEY, Experiencia int(10) NOT NULL DEFAULT '0', Fecha int(10) NOT NULL DEFAULT '0' <----- ESTA BIEN ASI? )*/
Gracias por su ayuda y espero que tengan un próximo lindo fin de semana.
Mensajes: 3,077
Temas: 33
Registro en: May 2017
Reputación:
34
22/01/2020, 10:21 PM
(Última modificación: 22/01/2020, 10:22 PM por Valentina.. Edited 1 time in total.)
Yo lo tengo así en un sistema de cuentas que hice para mi HNS.
Supongo que sabras adaptarlo a tus necesidades.
Código PHP: new g_szRegisterDate[ MAX_PLAYERS + 1 ][ MAX_NAME_LENGTH ];
// en client_putinserver g_szRegisterDate[ id ][ 0 ] = EOS;
//cuando registras al jugador en la base de datos get_time( "%d/%m/%Y a las %H:%M:%S", g_szRegisterDate[ id ], charsmax( g_szRegisterDate ) ); hQuery = SQL_PrepareQuery( g_hConnection, "INSERT INTO '%s' ( p_name, p_password, p_registerdate ) VALUES (^"%s^", ^"%s^", ^"%s^")", g_szTable, g_szPlayerName[ id ], g_szPassword[ id ], g_szRegisterDate[ id ] );
//y luego para cargarlo... SQL_ReadResult( hQuery, 3, g_szRegisterDate[ id ], charsmax( g_szRegisterDate ) );
EDIT: me falto esto..
Cita:p_registerdate VARCHAR(32) NOT NULL NOT NULL DEFAULT ''
Mensajes: 40
Temas: 14
Registro en: Jan 2020
Reputación:
0
Muchas gracias, era justo lo que necesitaba.
Closed.
Mensajes: 1,072
Temas: 57
Registro en: Feb 2016
Reputación:
8
En la consula de SQL (Create Table) usas "Fecha" como "INT" cuando en realidad es "VARCHAR".
Cuando guardas así, lo haces en expresión INT, o sea.
"g_fecha = 11/05/2020" (VARCHAR)
"g_fecha = 11" (INT)
Código PHP: g_fecha[ id ] = SQL_ReadResult( Query, 5 ) //Esto guardaría el "11" (INT) SQL_ReadResult(Query, 5, g_fecha[id], 32); //Esto guardaría el "11/05/2020" (VARCHAR)
Igualmente, la mejor manera de guardar datos de fechas, es usar el mismo sql usando DATE.
https://dev.mysql.com/doc/refman/8.0/en/datetime.html
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
Creo que también había una función dentro del CS que devolvía segundos y otra para transformarla a fecha ( creo, no estoy seguro ) era de unixtime o algo así
Mensajes: 40
Temas: 14
Registro en: Jan 2020
Reputación:
0
Disculpen, y guardar este plugin https://amxmodx-es.com/Thread-Tiempo-Total-Jugado en mysql como seria?, intente de muchas formas y ninguna me funciono.
Gracias.
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
proba como double o entero a la variable que dice guardar
Mensajes: 4,637
Temas: 73
Registro en: Oct 2013
Reputación:
44
Tu columna de fecha en la base de datos es un entero, debes cambiarlo a DATETIME, y el formato estandar es Y-m-d H:i
2020-01-27 08:53:55
Mensajes: 40
Temas: 14
Registro en: Jan 2020
Reputación:
0
27/01/2020, 06:36 PM
(Última modificación: 27/01/2020, 06:37 PM por Zeta. Edited 1 time in total.)
Todo lo que dijeron esta correcto, ya esta solucionado el primer post, en cuanto a esto:
Cita:Disculpen, y guardar este plugin https://amxmodx-es.com/Thread-Tiempo-Total-Jugado en mysql como seria?, intente de muchas formas y ninguna me funciono.
Gracias.
Aun no lo he podido solucionar, lo intente con INT pero no funciono.
Mensajes: 4,637
Temas: 73
Registro en: Oct 2013
Reputación:
44
28/01/2020, 06:47 AM
(Última modificación: 28/01/2020, 06:49 AM por Neeeeeeeeeel.-. Edited 1 time in total.)
Tenes que guardar esta variable como int
Y cargarla durante el client_connect o putinserver.
|