Otimizando PHP/MySQL: Concatenando Partes de um Registro e Criando Novas Informações

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (Sem votos, vote agora!)
Loading ... Loading ...

Postado por Plinio Cruz em 7 de junho de 2010 na categoria Banco de Dados, PHP, Programação | Seja o primeiro a comentar

Nosso maior público, no desenvolvimento de sistemas personalizados, são empresas com foco em eventos e congressos, dia desses um dos nossos clientes precisou de uma solução imediata com um evento feito sem o nosso sistema. A massa de registros dos inscritos para o evento veio sem um campo, muito comum para esse tipo de segmento, que é o “nome para crachá”, onde se espera que o participante coloque como quer ser identificado, e limita-se o número de caracteres para não extrapolar o tamanho da etiqueta que se utiliza na credencial.

A massa era grande, aproximadamente 1200 participantes e estava alocado em servidor alheio, não poderíamos fazer nenhuma modificação na base do evento, formação de conteúdo em novo campo, etc. Então utilizamos uma combinação de funções para solucionar o problema, partimos da proposta que os participantes não escolheriam seus nomes para a credencial e sim que essa identificação seria formada pelo primeiro nome e o último sobrenome. Veja como ficou:

SELECT
  Upper(concat(SUBSTRING_INDEX(`cadastrogeral`.`nome`,’ ‘,1),’ ‘,SUBSTRING_INDEX(`cadastrogeral`.`nome`,’ ‘,-1)))  AS `cracha`
FROM
 `cadastrogeral`

No exemplo acima se temos no campo “nome” o conteúdo: “José Pedro dos Santos” teremos como “crachá” o retorno “JOSÉ SANTOS”.

Considerações: Leia mais »

Otimizando PHP/MySQL: Timestamp para Date

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (1 votos, média: 5,00)
Loading ... Loading ...

Postado por Plinio Cruz em 27 de maio de 2010 na categoria Banco de Dados, PHP, Programação | Seja o primeiro a comentar

Na minha empresa, como nossos visitantes já sabem, desenvolvemos sistemas web, utilizamos a combinação PHP/MySQL. Com essa dupla podemos trabalhar de forma muito otimizada, uma dessas formas é na própria puxada dos dados para uma nova ferramenta ou mesmo para um simples relatório.

Isto é possível pois o MySQL, assim como o próprio PHP, tem funções tão específicas que só com muita pesquisa e leitura para utilizar e extrair todo o poder dessas ferramentas, teremos uma série de dicas, sempre com o mesmo título (Otimizando PHP/MySQL) seguido do tema, assim fica fácil de vocês pesquisarem no site!

Abraço!

Convertendo e formatando TIMESTAMP para Data Convencional

Objetivo: Transformar Timestamp (1274293322) para o formato dd/mm/aaaa, direto do MySQL.

Leia mais »

Backup zipado automático de toda base MySQL

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (Sem votos, vote agora!)
Loading ... Loading ...

Postado por Plinio Cruz em 30 de dezembro de 2009 na categoria Banco de Dados, PHP, Programação | Seja o primeiro a comentar

Na área de sistemas web uma coisa muito importante é o backup da base de dados, afinal um rotina imprópria no sistema pode alterar o banco de dados de forma errada comprometendo a integridade dos dados ou mesmo a consistência das informações. Além disso nenhuma empresa de hospedagem está livre de um problema sério com um servidor que coloque tudo a perder e como muitas não tiram backup podem criar um grande transtorno para o seu cliente.

Nós, da Trio Interativa, desenvolvemos muitos sistemas de gestão de eventos, muitas vezes, durante o processo de inscrições eletrônicas fazemos de três a quatro backup da base do cliente por dia. Além disse, trabalhamos muitas vezes nos sistemas enquanto são utilizados, ou seja, sempre estamos no risco, um código impróprio e podemos mudar tudo na base, então sempre que atualizamos um novo sistema fazemos backup da base também e os outros que normalmente fazemos ao longo do dia nos ajuda na detecção de erros e possíveis inconsistências nos dados.

Com o crescimento do número de clientes e os inúmeros eventos ocorrendo simultaneamente procuramos uma forma de fazer backup de forma rápida, eficiente e que fosse padronizada. Nas muitas pesquisas que fiz achei a uma rotina excelente do Fabio Berbet de Paula, fiz algumas interações no código para padronizá-las para nossa realidade e hoje qualquer profissional da TRIO tem um link para cada cliente, onde com a penas um clique fazemos o backup integral da base em um arquivo ZIP, perfeito e de forma íntegra. Tudo muito fácil e rápido. Veja o código com comentários e as interações que fiz.

Antes de mais nada agradeço ao Fabio Berbet o desenvolvimento do sistema. Para fazer o download do sistema e da classe clique aqui!.

1
2
3
4
5
< ?
/*
Programa usado para fazer o dump de uma base de dados do MySQL
 
 <a href="http://www.clubedainformatica.com.br/site/2009/12/30/backup-zipado-automatico-de-toda-base-mysql/#more-1800" class="more-link"><strong>Leia mais &raquo;</strong>

Delphi + MySql: Fazendo Funcionar

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (4 votos, média: 3,00)
Loading ... Loading ...

Postado por Plinio Cruz em 19 de junho de 2009 na categoria Banco de Dados, Delphi, Programação | Seja o primeiro a comentar

Introdução

Duas ferramentas. Duas tecnologias que podem ser combinadas, usadas e aperfeiçoadas.

Delphi, linguagem visual utilizando a linguagem Pascal.

MySql, sistema de gerenciamento de banco de dados versátil que utiliza a linguagem padrão SQL.

Os programadores que utilizam o Delphi o conhecem, pois o utilizam freqüentemente, mas o MySql que é tem uma excelente rapidez em sua base de dados, é algo, hoje em dia, casualmente utilizado. Veremos mais adiante como fazer essa dependência entre as duas poderosas tecnologias.

Início

Leia mais »

Quando Utilizar Inner, Left, Right e outras variações do Join no MySQL – Parte 2

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (1 votos, média: 5,00)
Loading ... Loading ...

Postado por Plinio Cruz em 16 de junho de 2009 na categoria Banco de Dados, Programação | 2 Comments to Read

No nosso primeiro artigo sobre o assunto falamos sobre o básico das amarrações de tabelas no MySQL, falamos sobre o Inner Join e conhecemos assim suas limitações. Agora começaremos utilizar os comandos a favor de um programação estruturada e voltada para a administração de dados de uma forma mais eficiente. Utilizaremos o mesmo caso e as mesmas tabelas do primeiro artigo para propor nossos problemas e assim mostrar de forma prática as soluções.

Left Join

Vamos partir do ponto que um sistema que é desenvolvido e utilizado para a administração de um evento ele é feito para operar e auxiliar os usuários nas exceções, ou seja, se o sistema funcionar do modo planejado, as pessoas entrarão no site, farão as inscrições, pagarão a quantia referente a sua categoria e assim que confirmado o pagamento mudarão de status dentro do sistema automaticamente. Mas como administrar as exceções e como encontrá-las? Para isso utilizaremos o Left Join nas amarrações das ferramentas que faremos para tratar essa inscrições que saíram por algum motivo da normalidade.

No nosso caso, uma inscrição que não tenha um status correspondente ao evento ou ainda uma categoria inválida, deixaria os dados inconsistentes e não teríamos por exemplo um total de pagamentos por categoria, ou até mesmo não controlaríamos o status de “inscrito e pago” corretamente. Esse é uns poucos exemplos de casos que o Inner Join deixaria de lado e tornaria nosso sistema de adminsitração de eventos falho.

Modo sistemático da amarração com left join. A tabela "inscrições" a esquerda (left) das outras duas.

Modo sistemático da amarração com left join. A tabela

Leia mais »