Consulta SQL++ / N1QL

Paginación en Couchbase Server con N1QL y PHP

Onwuka Gideon es un desarrollador freelance full stack con años de experiencia diseñando y codificando aplicaciones web y resolviendo problemas complejos. Le encanta la seguridad, escribir y hablar de nuevas tecnologías.

18485569 1371908909572883 6954592115736688669 n

Cuando se crean aplicaciones que manejan un gran número de documentos, es importante utilizar la paginación para obtener filas por página.

En este artículo, voy a demostrar cómo implementar la paginación cuando se trabaja con N1QL y PHP.

Un poco sobre N1QL

Couchbase N1QL es un lenguaje de consulta declarativo que extiende SQL para JSON. Puedes consultar datos a través de la integración nativa del framework y el lenguaje, una API fluida o los drivers JDBC/ODBC. N1QL ofrece a los desarrolladores un lenguaje expresivo, potente y completo para consultar y manipular datos.

Requisitos previos
  • Conocimientos básicos de Couchbase y tenerlo configurado en su servidor (Instalación de Couchbase)
  • Conocimientos básicos de N1QL
  • Conocimientos básicos de PHP (opcional, ya que se puede utilizar cualquier lenguaje)
  • Un SDK de Couchbase disponible (Ir aquí)

Qué construiríamos

Para el propósito de este artículo, configuraremos rápidamente un entorno PHP en el que básicamente extraeremos datos de la base de datos, paginaremos los datos y los mostraremos.

Configuración del entorno

Paso 1: crear un nuevo cubo

Accede a tu área de administración de Couchbase y crea un nuevo nombre de bucket comentarios.

Screenshot from 2017 08 20 21 25 56

Paso 2: crear un índice para el nuevo bucket: comentarios

Haz clic en la pestaña de consulta, inserta la consulta que aparece a continuación y haz clic en ejecutar.

Si todo va bien, podemos empezar a crear documentos.

Paso 3: clonar el archivo de inicio del proyecto

He creado la estructura básica de los archivos que utilizaremos en este tutorial.

Abre tu línea de comandos y clona el repositorio de github.

Ahora, abre el archivo que acabas de clonar en tu navegador. Deberías ver la siguiente página:

page

La estructura de los ficheros

El repositorio que acaba de clonar contiene 3 ficheros PHP: config.php, db.phpy index.php.

En config.php es donde definimos la información de nuestra base de datos:

En el db.phpNos conectamos a Couchbase y abrimos un bucket. Deberías cambiar los detalles para que se correspondan con tu información de Couchbase.

tienen algo de código HTML.

He incluido los dos archivos, config.php y db.php entonces escribí lógica para insertar algunos comentarios en la base de datos cuando se envía el formulario.

El código HTML muestra un formulario para añadir y listar comentarios.

Empecemos.

Añade tantos comentarios de la página como quieras. En breve paginaremos esos datos.

Obtener contenido paginado en la base de datos

Añada lo siguiente a la parte de cabecera de index.php que está debajo de cada código PHP en la parte superior.

He añadido comentarios al código anterior, que describen lo que hace cada uno. Aquí también utilizamos LÍMITE Y OFFSET que nos permitió LIMITAR el número de resultados que debe devolver cada consulta. El OFFSET se utilizó para saltar una cantidad de datos al consultar dependiendo del número de página al que estamos accediendo en ese momento.

LÍMITE: La cláusula LIMIT especifica el número máximo de objetos que se pueden devolver en un conjunto de resultados mediante SELECT. Un valor negativo o un valor superior a 9223372036854775295 (resultado de 1 - 512) se considera LIMIT 0.

OFFSET: La cláusula OFFSET especifica un número de objetos que deben omitirse. Si también hay una cláusula LIMIT, el OFFSET se aplica antes que el LIMIT. El valor de OFFSET debe ser un número entero no negativo.

Introducir el resultado de la consulta en la página

Añada el código siguiente a index.php dentro de esta etiqueta, inmediatamente después de <h4 class="text-center">Comentarios</h4> .

Añadir el enlace paginado

Añade el siguiente código entre esta etiqueta html <div id="pagination"> </div> en la parte inferior de index.php.


 

Aquí sólo estamos imprimiendo el número de páginas a la página.

Sí. Nuestra paginación ya funciona.

Peek 2017 08 23 19 35

Conclusión

En este artículo, has aprendido cómo implementar la paginación utilizando N1QL. También hemos revisado OFFSET y LÍMITE y cómo básicamente ejecutar consultas en Couchbase usando N1QL. Puedes obtener la aplicación completa aquí: (git@github.com:dongido001/php-couchbase-pagination_complete.git)

Gracias por leernos. Dígame lo que piensa o si tiene alguna pregunta.

Este post forma parte del Programa de Escritura de la Comunidad Couchbase

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Laura Czajkowski, Directora de la Comunidad de Desarrolladores, Couchbase

Laura Czajkowski es la Snr. Developer Community Manager en Couchbase supervisando la comunidad. Es responsable de nuestro boletín mensual para desarrolladores.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.