Função SQL/MYSQL para transformação do campo DATE ou DATETIME

Eis o caso: Você quer que seu cliente cadastre uma data no seguinte formato: “19/02/2008″ (d-m-Y) ou quer que esta mesma data apareça para seu cliente.

O problema: O banco de dados use como formato padrão Y-m-d, ou seja, no caso acima “2008-02-19″ e aí, existem duas saídas viáveis e uma terceira que é o que eu vejo a maioria dos programadores usar.

  1. Configurar o formatação dos campos tipo DATE no banco de dados, caso você seja o administrador do BD.
  2. Utitlizar funções internas do mysql para a formatação.
  3. Criar nos próprios scripts uma forma de receber aquela string e criar rotinas para a transformação.

A primeira opção seria a melhor, se não fosse o fato de modificar todo o seu BD atual. Cuidado! Por se tratar de um padrão universal o formato Y-m-d muitas aplicações seriam prejudicadas caso usassem o mesmo banco de dados que você alterou o modo de exibição.

A segunda opção é a que eu venho lhes apresentar no exemplo abaixo:

digita_e_envia.html
<form action="recebe_e_grava.php" methos="post">
<input type="text" name="data" value="19/02/2008" />
</form>

recebe_e_grava.php
$data = $_POST["data"];
$sql = "INSERT INTO tb_tabela ('id', 'data') VALUES (NULL, str_to_date('$data', '%d/%m/%Y'))";
mysql_query($sql);

apresenta.php
$sql = "select id, date_format(data, '%d/%m/%Y') from tb_tabela";
mysql_query($sql);

Pronto!

Eis as funções:

str_to_date(’19/02/2008′, ‘%d/%m/%Y’) = str_to_date($string, $formato_da_string) para a transformação de uma string no seu formato em formato padrão.

date_format(data, ‘%d/%m/%Y’) = date_format (campo_da_tabela, $formato_da_string) para a transformação de um campo no formato padrão da tabela para o seu formato.

Eu utilizo como formato dd/mm/yyyy. Por isso, se você utiliza outro que não esse ou o padrão universal leia atentamente a documentação do Mysql abaixo.

Valeu!

Referência:
Documentação Mysql - str_to_date()
Documentação Mysql - date_format()

Função PHP MYSQL para obter retorno do ID

Eis o caso: você precisa cadastrar dados na tabela “X” e logo após cadastrar o restante dos dados na tabela “Y”, a qual tem como chave estrangeira(FK) a PK da tabela “X”.

O problema: A tabela “X” tem como chave primária um campo auto_increment por isso logo após cadastrar a tabela “X” você precisa recuperar esse campo que foi cadastrado.

Para você não ter que ficar recuperando essa chave com outro select cheio de filtros e cálculos (gambiware), o PHP tem uma função para MYSQL que é a seguinte:

$id = mysql_insert_id();

Pronto!

Mesmo a função sendo simples, um exemplo:

$categoria = "eletrônicos";
$sql = "INSERT INTO tb_categoria ('cat_id', 'cat_descricao') VALUES(NULL, '$categoria')";
mysql_query($sql);
//
// Agora a mágica
$cat_id = mysql_insert_id();
$produto = "Tv Digital";
$sql = "INSERT INTO tb_produto('pro_id', 'cat_id', 'pro_descricao') VALEUS (NULL, '$cat_id', '$produto')";

Referência:
Documentação PHP - mysql_insert_id()

Classificados Maringá

Acesse e avalie: Classificados Maringá.

Novo sistema da Vivaweb Internet. Anuncie gratuitamente imóveis, veículos, informática, comércio, empregos e serviços. O melhor sistema de anúncios online gratuitos da região.

Para manter todos atualizados estou veiculando no meu flickr fotos de nossas campanhas.

Em breve terei novidades sobre o novo site da empresa e estou produzindo novos artigos. Logo retornei com várias novidades e atualizando com frequência este blog.

Até breve.

Caindo na Real

Da versão original Getting Real, em inglês, este ebook aborda conceitos interessantes que vão de encontro ao da teoria partindo diretamente para a prática além de ser uma leitura muito abrangente para vários perfils de profissionais. Vai desde a leitura para empreendedores, diretores, gerentes de equipe à funcionários, designers e atendentes.

Eis os capítulos: 1 Introdução, 2 A linha da largada, 3 Permaneça Enxuto, 4 Prioridades, 5 Seleção de Funcionalidades, 6 Processo, 7 A Organização, 8 Contratando, 9 Design de Interface, 10 Código, 11 Palavras, 12 Precificação e Assinatura, 13 Promoção, 14 Suporte, 15 Pós-lançamento e 16 Conclusão.

Em seus objetivos este método procura não depender de vários aspectos que aparentemente não funcionam para trabalhos web como:

  • Cronogramas muito longos;
  • Especificações e documentações de requisitos ou de versões;
  • Debates de Escalabidade;
  • Número crescente de versões;
  • Reuniões de equipe;
  • Planejamentos a longo prazo;
  • Documentos;
  • Suporte terceirizado;
  • Alto número de funcionários;
  • Teste de usuários irreais;

Entre seus conceitos, destaca:

  • A importância de ter uma filosofia;
  • Por que se manter pequeno é uma coisa boa;
  • Como construir menos;
  • Como ir de idéia à realidade rapidamente;
  • Como montar uma equipe;
  • Por que o design deve ser feito de dentro pra fora;
  • Por que escrever é tão crucial;
  • Por que deve-se fazer menos que a concorrência;
  • Como promover a aplicação e espalhar a palavra;
  • Segredos para um suporte de sucesso;
  • Dicas de como manter o momento depois do lançamento;

Os ítens destacados são os que mais me chamaram a atenção ao ler o livro.

Dentre estes conceitos destacados vou procurar escrever tópicos sobre assim que sobrar um tempinho, promessa.

Para quem quiser saber mais:

Empresa autora do livro: 37Signals
Livro - versão original (em inglês)

Livro - versão traduzida (em português)

Caso queira saber ainda mais: Pesquisar sobre getting real (páginas em portugês) por Google Inc

Abraços e até a próxima.

Padrões para web banners

Andei repensando sobre este assunto ao debater na empresa o uso de banners com tamanho padronizado. Mas não o que a empresa decidisse para o banner e sim um padrão universal. O 468×60 e 120×60, por exemplo, creio que todos já usaram e o que eu procurei inicialmente em português sem sucesso foi os padrões mais recentes como também a organização que ditasse isso. Algo como a w3c dos publicitários.

Em português a busca foi difícil e não encontrei resultados, em inglês foi mais rápida. Salve o inglês técnico quebra-galho. A única referência que eu tinha anteriormente era a do site ABRAWEB que tentou anos atrás ser uma padronizadora de alguma coisa para webmasters, ou uma organização, não sei ao certo. A estrutura dos banners estava muito desatualizada e sem referências.

Após nova pesquisa, encontrei a Interactive Adversating Bureau. Eis aqui uma referência ótima para seguir algum tipo de padrão. Mais alguns cliques e descobri as Guidelines e entre elas a que nos interessa é a Rich Media Guidelines.

Rich Media Guidelines

Entre os mais relevantes na minha opinião vale destacar o 728×90 que vários sites estão usando. Como exemplo posso citar o Terra.

Colaboração e Créditos: Google.
Busca: standard banner web size

Hello World!

Após um longo jejum de artigos voltei. Hello World! E não será desta vez o artigo também, desta vez, apenas um post de inauguração. Graças a Deus os estudos e a empresa tem me tomado todo o tempo disponível.

Toshiba A100-S172O ano de 2007 chegou com muitos projetos, dentre eles já posso mostrar o Portal Elotech. Tenho me dedicado muito à pós-graduação (DBA Oracle/DB2 - Cesumar, Centro Universitário de Maringá). Com o tempo tentarei mostrar vantagens e desvantagens assim como funções avançadas de SQL.

O novo blog também trará rotinas de PHP projetadas para facilitar a vida de muita gente. Com a ajuda de outros amigos, vamos expandir conteúdos de on rails e python. E para fechar com chave de ouro, deixo a todos a imagem da minha Cacauzinha Mobile. Toshiba A100-S17, Core 2 Duo, 120GB e 1GB de RAM. No mais, “START UP! GO GO GO!”.