Arquivos da categoria "PHP":

03/12/2009 - 14:46

Trabalhando com datas em PHP

É apenas uma dica, que par muitos já deve ser velha, mas tenho certeza de que para muitos é uma novidade.

Estou planejando escrever este post com esta dica faz tempo, mas não havia me decidido pela forma com que eu escreveria. Acabei me decidino por uma maneira simples e  direta.

Durante muito tempo, sempre que eu precisava armazenar uma data na base de dados o fazia pela maneira em que nós, brasileiros, escrevemos, ou seja, 22/11/1984 (meu aniversário aliás, se quiser me dar um presente fiquem à vontade. rs), mas percebi que quando precisava comparar datas era um Deus nos acuda.

Lendo na Internet descobri que o mais interessante seria usar o formato Ano-mês-dia, ou seja meu aniversário ficaria 1984-11-22, uma maneira mais fácil de comparar datas e ordenar seus SELECTS.

Para escreve a data de hoje, ao invés de usar:

date('d/m/Y');

use

date('Y-m-d');

Você vai se surpreender como isso vai te ajudar.

Ah, aproveitando, se você precisar armazenar a data de atualização, use o formato datetime.

date('Y-m-d H:i:s');//1984-11-22 22:05:15

Vai aqui uma funçãozinha que eu fiz pra exibir a data no formato brasileiro à partir do formato acima.

function FormataData($date){

$dt = explode('"-",$date');

      return "{$dt[3]}/$dt[2]}/$dt[1]}";

}

Fica a dica.

Enviado por: Leandro Garcia - Categoria(s): PHP, dicas Tags relacionadas: , , ,
03/06/2009 - 17:29

Exportando dados para EXCELL com PHP

Um dia desses, me surgiu um problema ao elaborar um sistema. O Cliente queria que o sistema exportasse os dados de determinado relatório para Excell.

Em ASP, eu sabia fazer, porém, estava usando PHP… O que fazer?

Pesquisei na internet e entendi o funcionamento. Percebi que é bem simples.

1º O que é uma planilha?

É em principio uma tabela.

<table>
	<tr>
		<td>Linha 1, Coluna 1</td>
		<td>Linha 1, Coluna 2</td>
		<td>Linha 1, Coluna 2</td>
	</tr>
	<tr>
		<td>Linha 2, Coluna 1</td>
		<td>Linha 2, Coluna 2</td>
		<td>Linha 2, Coluna 2</td>
	</tr>
	<tr>
		<td>Linha 3, Coluna 1</td>
		<td>Linha 3, Coluna 2</td>
		<td>Linha 3, Coluna 2</td>
	</tr>
</table>

Ta, fiz a tabela, e agora… Como eu exporto…

Simples, você exporta através de de função header do PHP.

Muitos que estão lendo devem conhecer a função header apenas como uma maneira de redirecionar uma página, porém ela vai muito além disso…

Veja no nosso caso, como é:

header("Content-type: application/vnd.ms-excel");
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=relatorio.xls");
header("Pragma: no-cache");

Utilizando a tabela gerada e as funções de Header no mesmo arquivo, será gerado um excell com a sua estrutura de tabela.

Veja o Código Completo

<?php
	header("Content-type: application/vnd.ms-excel");
	header("Content-type: application/force-download");
	header("Content-Disposition: attachment; filename=relatorio.xls");
	header("Pragma: no-cache");
?>

<table>
	<tr>
		<td><strong>Linha 1, Coluna 1</strong></td>
		<td>Linha 1, Coluna 2</td>
		<td>Linha 1, Coluna 2</td>
	</tr>
	<tr>
		<td>Linha 2, Coluna 1</td>
		<td>Linha 2, Coluna 2</td>
		<td>Linha 2, Coluna 2</td>
	</tr>
	<tr>
		<td>Linha 3, Coluna 1</td>
		<td>Linha 3, Coluna 2</td>
		<td>Linha 3, Coluna 2</td>
	</tr>
</table>

Utilizando este código, será gerado um arquivo chamado “relatorio.xls” com os dados da tabela.

gerarexcell

Se você analisar o código acima, você verá que eu formatei a primeira celula da primeira linha, deixando-a em negrito. Você pode formatar da maneira como você necessitar.

Enviado por: Leandro Garcia - Categoria(s): PHP Tags relacionadas: , ,
27/11/2008 - 22:56

PHP: Trabalhando com horários – Fuso

Recentemente, peguei um projeto para desenvolver, onde eu deveria trabalhar com horário. Até ai tudo bem, no entanto eu teria que trabalhar com o horário do servidor, aí veio o problema.

Costumo utilizar um servidor que fica localizado nos Estado Unidos e o Fuso horário diferente. O que fazer?

Uma vez que você aprende é fácil, mas demorei um pouquinho a descobrir.

O PHP tem uma função interna que faz isso pra a gente, só devemos setar o local pra o qual desejamos setar o fuso.

A função é date_default_timezone_set()

Como usá-la?

Basta colocá-la no inicio da página em que você vai trabalhar com horário.

date_default_timezone_set('Brazil/East');<!--–– São Paulo ––-->
?>

Mas Garcia, estou trabalhando para uma empresa que fica em Portugal o que fazer?

Simples, altere as propriedades.  Aqui tem a lista de todos os fusos.

Veja em funcionamento

Download

Enviado por: Leandro Garcia - Categoria(s): PHP, dicas Tags relacionadas: , , ,