no consigo realizar esta consulta mysql -
mcreed - 20.11.2016
aqui les dejo el comando, el problema es que no tira resultados y tampoco errores.
PHP код:
CMD:colpremium(playerid, params[])
{
/* == ESTRUCTURA CONSULTA == */
g_Consulta[playerid] = "";
strcat(g_Consulta[playerid], "SET @precioColor := 0, @ID = -1;");
strcat(g_Consulta[playerid], "SELECT @ID := `col_id` AS colorID, `col_nombre` AS colorNombre, `col_html` AS colorHTML,");
strcat(g_Consulta[playerid], sprintf("if((SELECT servidor_Compra.art_id FROM servidor_Compra INNER JOIN servidor_Color ON servidor_Compra.art_id = servidor_Color.col_id WHERE servidor_Compra.`usu_id` = %d", infJugador[playerid][ID]));
strcat(g_Consulta[playerid], " AND servidor_Color.col_id = @ID), @precioColor := 'COMPRADO', @precioColor := (SELECT `col_precio` FROM servidor_Color WHERE `col_id` = @ID)) As colorPrecio FROM servidor_Color WHERE `col_precio` != 0");
mysql_query(hBD, g_Consulta[playerid]);
/* == AQUI TERMINA LA CONSULTA ==*/
if(cache_num_rows() == 0)
return SendClientMsg(playerid, COLOR_ROJO, "*", "Se ha producido un error, si este persiste por favor comunicar a travйs de /reportar bug [Descripciуn]");
new f_InfDialogo[500] = "Nombre del Color\tPrecio", f_colNombre[30], f_colHTML[7], f_colPrecio[16];
for(new i = 0; i < cache_num_rows(); i++)
{
cache_get_value_name(i, "colorNombre", f_colNombre);
cache_get_value_name(i, "colorHTML", f_colHTML);
cache_get_value_name(i, "colorPrecio", f_colPrecio);
strcat(f_InfDialogo, sprintf("\n{%s}%s\t"COLOR_SIMBOLO_USD"${FFFFFF}%s", f_colHTML, f_colNombre, f_colPrecio));
}
ShowPlayerDialog(playerid, DIALOGO_COLPREMIUM_MENU, DIALOG_STYLE_TABLIST_HEADERS, "Menъ de Colores < Premium >", f_InfDialogo, "Aceptar", "Salir");
return true;
}
Cuando se utiliza el comando, se queda en el mensaje que coloque al haber 0 filas.
pawn Код:
if(cache_num_rows() == 0)
return SendClientMsg(playerid, COLOR_ROJO, "*", "Se ha producido un error, si este persiste por favor comunicar a travйs de /reportar bug [Descripciуn]");
Nota: el valor de la variable es suficientemente grande.
Gracias.
Respuesta: no consigo realizar esta consulta mysql -
JeffreyG - 20.11.2016
Si no devuelve nada es porque estбs haciendo mal la consulta (no me refiero a un error de sintaxis, sino que estб interpretando algo diferente a lo que vos queres que haga), revisa bien o prueba la consulta directamente en la base de datos hasta que devuelva lo que quieres y luego pasas el cуdigo al GM
Respuesta: no consigo realizar esta consulta mysql -
mcreed - 20.11.2016
Claro que lo he probado en la consola SQL (phpmyadmin) y me funciona bien, tambien he colocado un printf que me tire el texto de la consulta, lo copio y pego a la consola sql y funciona perfectamente, y me tira los datos que quiero.
Solo con el pawn es que no encuentro por que nose realiza o el por que no me da datos.
EDIT: anteriormente me funcionaba pero era una consulta que no preguntaba si el usuario lo habia comprado, simplemente decia el precio, y este funcionaba. y lo unico diferente de este y el anterior son las variables y la condicional en la consulta, pero realmente quiero que tire el resultado como ahorita(phpmyadmin) ya que es lo que necesito y por esa razon no lo he modificado como el anterior.
Respuesta: no consigo realizar esta consulta mysql -
mcreed - 21.11.2016
Por alguna razуn pense que las variables se declaraban con el
SET pero lo he quitado (la primera linea, donde seteo el valor) y me funciono.
Pueden cerrar