Consulta SQL++ / N1QL

Paginação no Couchbase Server com N1QL e PHP

Onwuka Gideon é um desenvolvedor freelancer de pilha completa com anos de experiência em projetar e codificar aplicativos da Web e resolver problemas complexos. Ele adora segurança, escrever e discutir novas tecnologias.

18485569 1371908909572883 6954592115736688669 n

Ao criar aplicativos que lidam com um grande número de documentos, é importante usar a paginação para obter linhas por página.

Neste artigo, demonstrarei como implementar a paginação ao trabalhar com N1QL e PHP.

Um pouco sobre o N1QL

O Couchbase N1QL é uma linguagem de consulta declarativa que estende o SQL para JSON. Você pode consultar dados por meio da integração nativa da estrutura e da linguagem, de uma API fluente ou dos drivers JDBC/ODBC. O N1QL oferece aos desenvolvedores uma linguagem expressiva, poderosa e completa para consulta e manipulação de dados.

Pré-requisitos
  • Conhecimento básico do Couchbase e sua configuração em seu servidor (Instalação do Couchbase)
  • Conhecimento básico de N1QL
  • Conhecimento básico de PHP (opcional, pois qualquer linguagem pode ser usada)
  • Um SDK do Couchbase disponível (Acesse aqui)

O que construiríamos

Para os fins deste artigo, configuraremos rapidamente um ambiente PHP no qual basicamente extrairemos dados do banco de dados, paginaremos os dados e os exibiremos.

Configuração do ambiente

Etapa 1: criar um novo bucket

Faça login na área de administração do Couchbase e crie um novo nome de bucket comentários.

Screenshot from 2017 08 20 21 25 56

Etapa 2: criar um índice para o novo bucket: comentários

Clique na guia de consulta, insira a consulta listada abaixo e clique em executar.

Se tudo correr bem, podemos começar a criar documentos.

Etapa 3: clonar o arquivo inicial do projeto

Criei a estrutura básica dos arquivos que usaremos neste tutorial.

Abra sua linha de comando e clone o repositório do github.

Agora, abra o arquivo que acabou de clonar em seu navegador. Você deverá ver a seguinte página:

page

A estrutura do arquivo

O repositório que você acabou de clonar contém 3 arquivos PHP: config.php, db.phpe index.php.

O config.php é onde definimos as informações do nosso banco de dados:

No db.phpEm seguida, nos conectamos ao Couchbase e abrimos um bucket. Você deve alterar os detalhes para que correspondam às informações do Couchbase.

tem algum código HTML.

Incluí os dois arquivos, config.php e db.php Em seguida, escrevi uma lógica para inserir alguns comentários no banco de dados quando o formulário é enviado.

O código HTML exibe um formulário para adicionar e listar comentários.

Agora vamos começar!

Adicione quantos comentários da página você quiser. Em breve, estaremos paginando esses dados.

Buscar conteúdo paginado no banco de dados

Adicione o seguinte à parte do cabeçalho de index.php que está abaixo de cada código PHP na parte superior.

Acrescentei comentários ao código acima, que descrevem o que cada um faz. Aqui também usamos LIMITE E DESLOCAMENTO que nos permitiu LIMITAR o número de resultados que cada consulta deve retornar. O OFFSET foi usado para pular uma quantidade de dados durante a consulta, dependendo do número da página que estamos acessando no momento.

LIMITE: A cláusula LIMIT especifica o número máximo de objetos que podem ser retornados em um conjunto de resultados pelo SELECT. Um valor negativo ou um valor maior que 9223372036854775295 (resultado de 1 - 512) é considerado como LIMIT 0.

DESLOCAMENTO: A cláusula OFFSET especifica um número de objetos a serem ignorados. Se uma cláusula LIMIT também estiver presente, o OFFSET será aplicado antes do LIMIT. O valor OFFSET deve ser um número inteiro não negativo.

Preencher o resultado da consulta na página

Adicione o código abaixo a index.php dentro dessa tag, imediatamente após <h4 class="text-center">Listagem de comentários</h4> .

Adicionar o link paginado

Adicione o código abaixo entre essa tag html <div id="pagination"> </div> na parte inferior do index.php.


 

Aqui, estamos apenas imprimindo o número de páginas para a página.

Sim! Nossa paginação está funcionando agora.

Peek 2017 08 23 19 35

Conclusão

Neste artigo, você aprendeu como implementar a paginação usando o N1QL. Também revisamos DESLOCAMENTO e LIMITE e como basicamente executar consultas no Couchbase usando o N1QL. Você pode obter o aplicativo completo aqui: (git@github.com:dongido001/php-couchbase-pagination_complete.git)

Obrigado pela leitura. Diga-me o que você achou ou se tiver alguma dúvida.

Esta postagem faz parte do Programa de Redação da Comunidade Couchbase

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Laura Czajkowski, gerente da comunidade de desenvolvedores, Couchbase

Laura Czajkowski é a Snr. Developer Community Manager da Couchbase, supervisionando a comunidade. Ela é responsável pelo nosso boletim informativo mensal para desenvolvedores.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.