Jump to content

Buscar en la comunidad

Mostrando resultados para las etiquetas 'query'.

  • Buscar por etiquetas

    Escribe las etiquetas separadas por comas.
  • Buscar por autor

Tipo de contenido


Foros

  • Metin2 Zone
    • Comunidad
    • Presentaciones y despedidas
  • Servidores Privados
    • Presentaciones de Servidores
    • Presentación de Proyectos
  • General
    • Discusiones generales
    • Socios y Colaboraciones
    • Servicios y compraventa
    • Ayudas y preguntas
    • Opiniones y consejos
    • Offtopic
  • Técnica
    • Programación
    • Edición de servidores Metin2
    • Desarrollo Web
    • Seguridad
    • Sistemas Operativos
    • Informática
  • Arte
    • Diseño y sección gráfica
    • Galería de imágenes y vídeos
    • Modelado 3D
    • Mapping
  • Descargas
    • Servidores y Clientes
    • Modelos 3D
    • Imágenes Metin2
    • Mapas
    • Traducciones
  • Archivo
    • Servidores Offline
    • Temas Links Caidos

Encontrar resultados en...

Encontrar resultados que...


Fecha creación

  • Inicio

    Fin


Última actualización

  • Inicio

    Fin


Filtrar por número de...

Ingreso

  • Inicio

    Fin


Grupo


Email


Sitio web


Jabber


Skype


Discord


Localización


Intereses

Encontrado 2 resultados

  1. [Guía] Como hacer querys correctamente en PHP con mysqli Hoy os vengo a enseñar como hacer query en php correctamente para sacar información de vuestro servidor de Metin2. (Esta guía la actualizaré dependiendo de las dudas que tengáis y lo que queras hacer). Lo siento por cualquier errata que pueda cometer en mi ortografía pero este es mi primer post en el Foro. Indice Archivo de configuración Numerar filas Mostrar filas Filtros Sumar valores de una columna Archivo de configuración Lo primero que vamos a hacer, es crear un archivo de configuración donde vamos a tener los datos de acceso a nuestro servidor (config.inc.php). En el, vamos a introducir el siguiente código y editaremos los valores de acceso. config.inc.php > <?php $_CONNECTION = array ( 'dbhost' => 'x.x.x.x', //Host del servidor (Ej. 192.168.1.100) 'dbuser' => 'user', //Usuario de la base de datos 'dbpass' => 'pass' //Contraseña de la base de datos ); //Ahora la conexión de a la base de datos: $conect = new mysqli($_CONNECTION['dbhost'],$_CONNECTION['dbuser'],$_CONNECTION['dbpass']); ?> Ahora que ya tenemos nuestro archivo de configuración, vamos a crear una query. Numerar filas Vamos a crear una query para contar el numero de cuentas creadas en nuestro servidor. Como sabemos, las cuentas están ubicadas en account.account en nuestra base de datos. Para ello, vamos a introducirnos en el archivo php donde queramos que aparezca dicha información. Como ejemplo, en mi caso, vamos a ir a index.php, y vamos a introducir en siguiente código. index.php > <?php //incluimos nuestro archivo de configuración (excepto si ya lo hemos incluido) require 'config.inc.php'; //Ahora vamos a crear la query y la vamos a almacenar en una variable. $cuentas = $conect->query("SELECT id FROM account.account") $num = $cuentas->num_rows; //Ahora nuestra variable '$num' contiene el número de cuentas que hay en nuestro servidor echo 'Hay un total de '.$num.' cuentas creadas'; $cuentas->close(); ?> Esta sería la forma de contar el numero de filas, si por ejemplo queremos contar el número de items que hay en circulación en el juego, seria así: "SELECT id FROM player.item". Mostrar filas Ahora digamos que queremos mostrar todos los nombres de los jugadores en una tabla junto a su nivel. Para ello vamos a ubicarnos en el archivo php donde queramos mostrar dicha tabla. index.php > <?php //incluimos nuestro archivo de configuración (excepto si ya lo hemos incluido) require 'config.inc.php'; //Ahora vamos a crear la query y la vamos a almacenar en una variable. echo '<table>'; $personajes = $conect->query("SELECT name,level FROM player.player"); if($personajes->num_rows){ while($row = $personajes->fetch_array(MYSQLI_ASSOC)){ echo '<tr>'; echo '<td>'.$row["name"].'</th>'; echo '<td>'.$row["level"].'</th>'; echo '</tr>'; } }else{ echo 'No hay ningún valor'; } echo '</table>'; $personajes->close(); ?> Filtros Ahora que ya sabemos contar y numerar los datos, vamos a aplicar filtros a las querys para hacerlas más interesantes. Por ejemplo vamos a coger la query de mostrar filas y vamos a poner un filtro que diga que los muestre en orden según el nivel. Para ello lo editaremos añadiendo 'ORDER BY level'. Debe quedar algo así. $personajes = $conect->query("SELECT name,level FROM player.player ORDER BY level"); Si ejecutamos esta query, nos daremos cuenta que los ordena, pero de menor a mayor. Si queremos que los ordene de mayor a menor, añadiremos 'DESC' al final. $personajes = $conect->query("SELECT name,level FROM player.player ORDER BY level DESC"); Si tenemos muchos usuarios puede demorarse mucho la query, entonces digamos que solo queremos que muestre los 10 primeros según el nivel. Para ello añadiremos lo siguiente al final 'LIMIT 10' $personajes = $conect->query("SELECT name,level FROM player.player ORDER BY level DESC LIMIT 10"); En la siguiente tesitura nos ocurre que solo queremos mostrar los personajes mayores del nivel 50, dejando los filtros anteriores. Para eso, solo necesitamos añadir lo siguiente 'WHERE level > 50' y nos debería quedar algo así $personajes = $conect->query("SELECT name,level FROM player.player WHERE level > 50 ORDER BY level DESC LIMIT 10"); Ahora queremos añadir otro filtro que solo muestre los personajes que no lleven más de 1 semana sin loguearse al juego. Para ello utilizaremos la función de DATE_SUB(). Vamos a añadir el siguiente código a la query 'DATE_SUB(NOW(), INTERVAL 1 WEEK) < last_play' (Podemos modificar el intervalo sustituyendo 'WEEK' por lo que queramos. Ej: SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR) Nos tiene que quedar de esta forma $personajes = $conect->query("SELECT name,level FROM player.player WHERE level > 50 AND DATE_SUB(NOW(), INTERVAL 1 WEEK) < last_play ORDER BY level DESC LIMIT 10"); Sumar valores de una columna Para poder sumar valores de una columna en concreto, como por ejemplo: Queremos saber el yang en total que hay en nuestro servidor. Para ello, necesitaremos usar la función SUM(). <?php //incluimos nuestro archivo de configuración (excepto si ya lo hemos incluido) require 'config.inc.php'; //Ahora vamos a crear la query y la vamos a almacenar en una variable. $yang=$conect->query("SELECT SUM(gold) AS gold FROM player.player"); $yang=$yang->fetch_array(MYSQLI_ASSOC); $yang=$yang["gold"]; //Ahora nuestra variable '$yang' contiene el número de yang global que hay en nuestro servidor echo 'Hay un total de '.$yang.' de yang'; ?> Esto nos sirve también para sumar, por ejemplo, el número total de minutos jugados en nuestro servidor. Y este sería el final de la guía. Ya sabéis que este es mi primer post y estoy abierto a sugerencias y dudas que pongáis en los comentarios. Un saludo y hasta la próxima!
  2. Eso lo que dije .... no se que colocar en este lugar y con el detalle quedo igual XD jejej alguna ayuda??
×
×
  • Crear nuevo...