ayuda con esta funcion
#3

Quote:
Originally Posted by Daniel-92
Посмотреть сообщение
La estructura para hacer eso no es la adecuada, hay un mal diseсo en tu base de datos, preferiblemente yo lo harнa de esta manera.

PHP код:
DescargarInfo()
{
    new 
conteo_datos 0;
    
mysql_query(MySQL,"SELECT `idio_nombre`,`idio_key`,`idio_contenido` FROM "TABLA_IDIOMA"");
    for(new 
i;i<cache_num_rows();i++)
    {
        
//Te faltaria tener un campo auto increment como id del idioma (un integer)
        //Supongamos que se almacenara en la variable infIdioma[i][IdiomaID]
        
cache_save_string(i,"idio_key",infIdioma[i][Key]);
        
cache_save_string(i,"idio_contenido",infIdioma[i][Cadena]);
        
cache_save_int(i,"idio_nombre",infIdioma[i][Lenguage]);
        
conteo_datos++;
    }
    
TOT_CADS conteo_datos;
    
printf("Informaciуn de idiomas descargada y almacenada.");
    
printf("R: %d Cadenas de Idioma.",conteo_datos);
    
printf("Se descargo la informacion desde la base de datos en %d ms.",GetTickCount()-debug_time);
    return 
1;

PHP код:
//Al jugador deberia guardarse en su cuenta el ID del idioma
//(no el nombre) y almacenarlo en infJugador[playerid][IdiomaDB_ID]
GetPlayerLangID(playerid) {
    for(new 
i;i<TOT_CADS;i++) {
        if(
infIdioma[i][IdiomaID] == infJugador[playerid][IdiomaDB_ID]) {
            return 
i;
        }
    }
      return 
0//Cambiar el 0 por el ID de un idioma por default

PHP код:
//En el login (necesaria la variable pIdiomaID para el jugador)
infJugador[playerid][pIdiomaID] = GetPlayerLangID(playerid);
//Luego donde se quiera utilizar el idioma
printf("JUGADOR: %d | IDIOMA: %s",playerid,infIdioma[[infJugador[playerid][pIdiomaID]][Ideoma]); 
PHP код:
//Para que sea mas entendible
#define GetPlayerLang(%1) infIdioma[[infJugador[%1][pIdiomaID]][Ideoma]
printf("JUGADOR: %d | IDIOMA: %s",playerid,GetPlayerLang(playerid)); 
Es solamente un cуdigo ejemplo, no compilarб si hace un copiar y pegar debe adaptarse a tu cуdigo.
Ya tengo una llave primaria con auto increment, solo que no la utilizo en el codigo, ya que practicamente no tiene uso, debido a que el string se llama por medio de la key(Campo tipo VarChar, que almacena el nombre para luego ser llamado, ya que es mucho mas facil recordar), el idioma del jugador si se guarda por medio de un campo numerico, en su respectiva tabla, las cadenas en la bd tienen su campo idioma que igualmente es un tipo numerico( 1=CASTELLANO,2=INGLES).
Reply


Messages In This Thread
ayuda con esta funcion - by mcreed - 09.07.2016, 16:50
Re: ayuda con esta funcion - by Daniel-92 - 09.07.2016, 17:32
Respuesta: Re: ayuda con esta funcion - by mcreed - 09.07.2016, 18:08
Respuesta: ayuda con esta funcion - by mcreed - 10.07.2016, 15:14

Forum Jump:


Users browsing this thread: 1 Guest(s)