<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Daniel Lima &#187; Programação</title>
	<atom:link href="http://www.daniellima.net/category/programacao/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.daniellima.net</link>
	<description>Divagando sobre tudo um pouco e, lembre-se, são minhas opiniões.</description>
	<lastBuildDate>Mon, 18 Jan 2010 22:30:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<meta xmlns="http://www.w3.org/1999/xhtml" name="robots" content="noindex,follow" />
		<item>
		<title>Problemas com multiplas conexões MySQL</title>
		<link>http://www.daniellima.net/2010/01/18/problemas-com-multiplas-conexoes-mysql/</link>
		<comments>http://www.daniellima.net/2010/01/18/problemas-com-multiplas-conexoes-mysql/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 22:30:15 +0000</pubDate>
		<dc:creator>Daniel Carvalho</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.daniellima.net/?p=71</guid>
		<description><![CDATA[Enfrentando problemas com acesso a dois bancos de dados em MySQL no mesmo script PHP? ]]></description>
			<content:encoded><![CDATA[<p>Boa noite!</p>
<p>Sei que faz muito tempo que não posto nada mas esta é por uma boa causa&#8230;</p>
<p>Estou fazendo um sistema LAMP e tive um problema ao acessar dois bancos de dados simultaneamente, um da administração e um dos usuários&#8230;</p>
<p>Penei, fiz de tudo para descobrir, e no final, fica ai a solução:</p>
<p>[code]$conexao  = mysql_connect($hostname, $username, $password, <strong>true</strong>) or trigger_error(mysql_error(),E_USER_ERROR);[/code]</p>
<p>A solução foi aquele <strong>true </strong>no final do mysql_connect&#8230; a explicação é simples, <span></span></p>
<p>[code]<span><strong>mysql_connect</strong></span> ([ <span><span>string</span> <tt>$server</tt><span> = ini_get("mysql.default_host")</span></span> [, <span><span>string</span> <tt>$username</tt><span> = ini_get("mysql.default_user")</span></span> [, <span><span>string</span> <tt>$password</tt><span> = ini_get("mysql.default_password")</span></span> [, <strong><span><span>bool</span> <tt>$new_link</tt><span> = false</span></span></strong> [, <span><span>int</span> <tt>$client_flags</tt><span> = 0</span></span> ]]]]] )[/code]</p>
<p>Naquele booleano perguntando se é um novo link!!! Parece simples, mas ao deixar em branco, o default é false, logo ele conecta no mesmo link, no mesmo resource&#8230; Colocou ali o true, resolveu todos os seus problemas!!</p>
<p>Até a proxima</p>
<p>&#8230;</p>

<!-- Begin Google Adsense code -->
<span style="margin: 0px 6px 0px 0px; float: none;">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3650809833391515";
google_ad_type = "text_image";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_channel = "";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "B33C01";
google_color_text = "4d4d4d";
google_color_url = "B33C01";
google_ui_features = "rc:0";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>	
</span>
<!-- End Google Adsense code -->
]]></content:encoded>
			<wfw:commentRss>http://www.daniellima.net/2010/01/18/problemas-com-multiplas-conexoes-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fazendo backup no SQL Server Express</title>
		<link>http://www.daniellima.net/2009/10/26/fazendo-backup-no-sql-server-express/</link>
		<comments>http://www.daniellima.net/2009/10/26/fazendo-backup-no-sql-server-express/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 15:12:21 +0000</pubDate>
		<dc:creator>Daniel Carvalho</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[banco de dados]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[segurança]]></category>
		<category><![CDATA[sql server]]></category>

		<guid isPermaLink="false">http://www.daniellima.net/?p=62</guid>
		<description><![CDATA[Scripts prontos para realizar backup no SQL Express com agendamento]]></description>
			<content:encoded><![CDATA[<p>Olá,</p>
<p>Sei que em muitos lugares da NET você encontra scripts de backup para o SQL Server Express, porém eu resolvi colocar um que utilizo e funciona muito bem.</p>
<p>Vamos criar um arquivo chamado backup.sql</p>
<pre class="">declare @nome varchar(150)
declare @temp varchar(100)
select @temp = CONVERT(VARCHAR(12),GETDATE(),112)+ CONVERT(VARCHAR(2), DATEPART(HOUR, GETDATE()))+ CONVERT(VARCHAR(2),DATEPART(MINUTE, GETDATE()))
select @nome='\\192.168.0.154\Rede\backup\bkp'+@temp+'.bak'
BACKUP DATABASE SEU_BANCO_DE_DADOS TO DISK=@nome;
</pre>
<p>O legal deste script, que como podem ver, está preparado para fazer o backup em outra parte da rede &#8230; observem que o nome do arquivo é a data e a hora. O que realmente faz o backup é a última linha.</p>
<p>Agora é só criar um novo arquivo, chamado backup.bat e colocar o seguinte conteúdo:</p>
<pre class="">
@echo ****** BACKUP  ******** &gt;&gt;log.txt
@echo Inicio &gt;&gt; log.txt
@date /t &gt;&gt;log.txt
@time /t &gt;&gt;log.txt
OSQL -S SERVIDOR\INSTANCIA -U sa -P senha -i "backup.sql" &gt;&gt;log.txt
@date /t &gt;&gt;log.txt
@time /t &gt;&gt;log.txt
@echo **** FIM BACKUP  **** &gt;&gt; log.txt
</pre>
<p>Bom, acho que não precisa de muita explicação, mas os dois arquivos precisam, neste exemplo, estarem no mesmo diretorio, altere as configurações de SERVIDOR\INSTANCIA e do seu -P para sua senha.</p>
<p>Para automatiza este backup, já que o SQL Express não possui JOBs, use o agendador de tarefas do Windows e agende o backup.bat de acordo com sua necessidade!</p>
<p>Bom, por hora é isto.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniellima.net/2009/10/26/fazendo-backup-no-sql-server-express/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Backup do WordPress</title>
		<link>http://www.daniellima.net/2009/10/22/backup-do-wordpress/</link>
		<comments>http://www.daniellima.net/2009/10/22/backup-do-wordpress/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 18:14:16 +0000</pubDate>
		<dc:creator>Daniel Carvalho</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[restauração]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.daniellima.net/?p=58</guid>
		<description><![CDATA[Mudança de local de hospedagem sempre dá problema... Tive um problema simples com o WordPress, mas demorei um pouco a resolver... estamos de volta!]]></description>
			<content:encoded><![CDATA[<p>Sério, tem coisas que a gente não deveria fazer, uma delas é mudar de servidor de hospedagem, mas a concorrência e a qualidade dos serviços nos fazem mudar, como dizia Charles Darwin, a espécie que sobrevive não é a mais forte ou mais inteligente, mas a que melhor se adapta.</p>
<p>Bom, vamos aos fatos, contratei uma nova hospedagem com meu amigo Kadu (<a href="http://www.soshost.com.br">www.soshost.com.br</a>), depois que um outro amigo não quis contratar para mim no dia em um plano econômico ;-D , mas mesmo assim recomendo os serviços do João Paulo (<a href="http://www.trendfaces.com.br">www.trendfaces.com.br</a>).</p>
<p>Com isto, fiz um backup de todos os arquivos do WordPress e da base de dados.</p>
<p>No novo servidor mandei os arquivos e restaurei a base de dados.</p>
<p>A area administrativa funcionou bem, porém quando fui na index, não era exibido nada&#8230;</p>
<p>Eliminando o suspense e chegando aos finalmentes&#8230; era só ativar o Tema novamente&#8230; por algum motivo ele estava desativado&#8230; depois que ativei funcinou tudo redondo&#8230;</p>
<p>Bom, por hoje é só</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniellima.net/2009/10/22/backup-do-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Somando vários SELECTS em uma só sentença</title>
		<link>http://www.daniellima.net/2009/10/07/somando-varios-selects-em-uma-so-sentenca/</link>
		<comments>http://www.daniellima.net/2009/10/07/somando-varios-selects-em-uma-so-sentenca/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 19:21:11 +0000</pubDate>
		<dc:creator>Daniel Carvalho</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[sql server]]></category>

		<guid isPermaLink="false">http://www.daniellima.net/?p=53</guid>
		<description><![CDATA[Soma de múltiplos selects no SQL Server]]></description>
			<content:encoded><![CDATA[<p>Bem srs, nas dificuldades do dia-a-dia nós achamos as respostas.</p>
<p>Precisava realizar uma soma em diversas tabelas mas o resultado teria que ser dado em um único campo e as tabelas não se relacinavam entre si&#8230; solução simpes e rápida:</p>
<pre class="">
SELECT (
SELECT COALESCE(SUM(A),0) FROM TABELAX WHERE CONDICAO = 'X'
) + (
SELECT COALESCE(SUM(B),0) FROM TABELAY WHERE CONDICAO = 'Y'
)
</pre>
<p>Simples não é?</p>
<p>O pulo do gato é você tratar o resultado NULO, em determinada situação, se uma das consultas retornar NULL e você não tiver tratado ele com o COALESCE &#8211; que serve para, se o valor for nulo, retorne alguma coisa, no nosso caso, se a soma for nula, retorna 0 &#8211; o resultado da sua consulta será 0, mesmo que uma das duas tenha algum valor.</p>
<p>Por hoje é só, lembrando que esta dica é para SQL Server</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniellima.net/2009/10/07/somando-varios-selects-em-uma-so-sentenca/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inserindo registros no SQL Server por meio de um Select</title>
		<link>http://www.daniellima.net/2009/09/29/inserindo-registros-no-sql-server-por-meio-de-um-select/</link>
		<comments>http://www.daniellima.net/2009/09/29/inserindo-registros-no-sql-server-por-meio-de-um-select/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 12:21:34 +0000</pubDate>
		<dc:creator>Daniel Carvalho</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[sql server]]></category>

		<guid isPermaLink="false">http://www.daniellima.net/?p=49</guid>
		<description><![CDATA[Inserindo dasdos no SQL Server entre bases com SELECT e INSERT]]></description>
			<content:encoded><![CDATA[<p>Bom dia!</p>
<p>Inserir dados em tabelas a partir de um SELECT no SQL Server é coisa bem simples mas possui um pequeno detalhe, logo fica a dica para que as pessoas não percam muito tempo com isto.</p>
<p>Para o exemplo ficar um pouco mais &#8220;rico&#8221;, esta sentença copia as tabelas de uma base de dados para a outra, neste exemplo eu estou executando direto da base A &#8211; minha fonte dos dados &#8211; e enviando para a tabela na BaseB os funcionários que começam com a letra &#8216;J&#8217;:</p>
<pre class="mysql">INSERT INTO BaseB.dbo.TABELA(EMPRESA, FUNCIONARIO, NOME)
SELECT '1', FUNCIONARIO, NOME FROM TABELA WHERE FUNCIONARIO LIKE 'J%'</pre>
<p>Bom, simples e fácil, fica a dica</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniellima.net/2009/09/29/inserindo-registros-no-sql-server-por-meio-de-um-select/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Somando horas no PHP e no MySQL</title>
		<link>http://www.daniellima.net/2009/09/14/somando-horas-no-php-e-no-mysql/</link>
		<comments>http://www.daniellima.net/2009/09/14/somando-horas-no-php-e-no-mysql/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 12:53:39 +0000</pubDate>
		<dc:creator>Daniel Carvalho</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.daniellima.net/?p=43</guid>
		<description><![CDATA[Funções para cálculo de diferença de horas, datas, PHP e MySQL]]></description>
			<content:encoded><![CDATA[<p>Bom dia!</p>
<p>Estou trabalhando em projetos para a minha empresa <a href="http://www.ethosconsultores.com.br" target="_blank">Ethos Consultores</a> incluindo um auditor de planos coorporativos de celulares.</p>
<p>Como é necessário somar horas, minutos e segundos, e como é complexo achar funções que funcionem perfeitamente, resolvi disponibilizar os dois códigos fontes, um para somar as horas via MySQL e outro para somar dentro de um arquivo PHP.</p>
<p>Abaixo a função em PHP:</p>
<pre class="php">
$times <span class="phpOperator">=</span> <span class="phpFunction">array</span><span class="phpOperator">(</span>
<span class="phpString">'01<span class="phpOperator">:</span>30<span class="phpOperator">:</span>22'</span>,
<span class="phpString">'34<span class="phpOperator">:</span>17<span class="phpOperator">:</span>03'</span>,
<span class="phpOperator">)</span><span class="phpText">;</span>
$seconds <span class="phpOperator">=</span> 0;
<span class="phpKeyword">
foreach </span><span class="phpOperator">(</span> $times<span class="phpKeyword"> as </span>$time <span class="phpOperator">)</span><span class="phpOperator">{</span>
<span class="phpFunction">list</span><span class="phpOperator">(</span> $g, $i, $s <span class="phpOperator">)</span> <span class="phpOperator">=</span> <span class="phpFunction">explode</span><span class="phpOperator">(</span> <span class="phpString">'<span class="phpOperator">:</span>'</span>, $time <span class="phpOperator">)</span><span class="phpText">;</span>
$seconds <span class="phpOperator">+</span><span class="phpOperator">=</span> $g * 3600;
$seconds <span class="phpOperator">+</span><span class="phpOperator">=</span> $i * 60;
$seconds <span class="phpOperator">+</span><span class="phpOperator">=</span> $s<span class="phpText">;</span>
<span class="phpOperator">}</span>
$hours <span class="phpOperator">=</span> <span class="phpFunction">floor</span><span class="phpOperator">(</span> $seconds / 3600 <span class="phpOperator">)</span><span class="phpText">;</span>
$seconds -<span class="phpOperator">=</span> $hours * 3600;
$minutes <span class="phpOperator">=</span> <span class="phpFunction">floor</span><span class="phpOperator">(</span> $seconds / 60 <span class="phpOperator">)</span><span class="phpText">;</span>
$seconds -<span class="phpOperator">=</span> $minutes * 60;
<span class="phpFunction">echo</span> <span class="phpString">"<span class="phpOperator">{</span>$hours<span class="phpOperator">}</span><span class="phpOperator">:</span><span class="phpOperator">{</span>$minutes<span class="phpOperator">}</span><span class="phpOperator">:</span><span class="phpOperator">{</span>$seconds<span class="phpOperator">}</span>"</span><span class="phpText">;</span>
</pre>
<p>Fonte:  <a href="http://angelinaweb.blogspot.com" target="_blank">This.Garota</a></p>
<p>Abaixo o código para somar em MySQL</p>
<pre class="mysql">
SELECT sec_to_time(sum(time_to_sec(right(duracao,8)))) AS DURACAO FROM tabela
</pre>
<p>Existe mais um detalhe, calcular a diferença entre campos DATETIME, no MySQL versão 5 existe o DATEDIFF, mas para versões anteriores segue uma função em PHP</p>
<pre class="php">
<span class="phpFunctionKeyword">function</span> formata<span class="phpOperator">(</span>$mins<span class="phpOperator">)</span> <span class="phpOperator">{</span>
#
<span class="phpComment">// Se os minutos estiverem negativos
</span>
<span class="phpKeyword">
if </span><span class="phpOperator">(</span>$mins <span class="phpOperator">&lt;</span> <span class="phpNumber">0</span><span class="phpOperator">)</span>
$min <span class="phpOperator">=</span> <span class="phpFunction">abs</span><span class="phpOperator">(</span>$mins<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">
else
</span>
$min <span class="phpOperator">=</span> $mins<span class="phpText">;</span>
<span class="phpComment">// Arredonda a hora
</span>$h <span class="phpOperator">=</span> <span class="phpFunction">floor</span><span class="phpOperator">(</span>$min / 60<span class="phpOperator">)</span><span class="phpText">;</span>
$m <span class="phpOperator">=</span> <span class="phpOperator">(</span>$min - <span class="phpOperator">(</span>$h * 60<span class="phpOperator">)</span><span class="phpOperator">)</span> / 100;
$horas <span class="phpOperator">=</span> $h <span class="phpOperator">+</span> $m<span class="phpText">;</span>
<span class="phpComment">// Matemática da quinta série
</span><span class="phpComment">// Detalhe<span class="phpOperator">:</span> Aqui também pode se usar o <span class="phpFunction">abs</span><span class="phpOperator">(</span><span class="phpOperator">)</span>
</span>>if <span class="phpOperator">(</span>$mins <span class="phpOperator">&lt;</span> <span class="phpNumber">0</span><span class="phpOperator">)</span>
$horas *<span class="phpOperator">=</span> -<span class="phpNumber">1</span><span class="phpText">;</span>
<span class="phpComment">// Separa a hora dos minutos
</span>$sep <span class="phpOperator">=</span> <span class="phpFunction">explode</span><span class="phpOperator">(</span><span class="phpString">'<span class="phpOperator">.</span>'</span>, $horas<span class="phpOperator">)</span><span class="phpText">;</span>
$h <span class="phpOperator">=</span> $sep<span class="phpOperator">[</span><span class="phpNumber">0</span><span class="phpOperator">]</span><span class="phpText">;</span>
<span class="phpKeyword">
if </span><span class="phpOperator">(</span><span class="phpFunction">empty</span><span class="phpOperator">(</span>$sep<span class="phpOperator">[</span><span class="phpNumber">1</span><span class="phpOperator">]</span><span class="phpOperator">)</span><span class="phpOperator">)</span>
$sep<span class="phpOperator">[</span><span class="phpNumber">1</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> 00;
$m <span class="phpOperator">=</span> $sep<span class="phpOperator">[</span><span class="phpNumber">1</span><span class="phpOperator">]</span><span class="phpText">;</span>
<span class="phpComment">// Aqui um pequeno artifício pra colocar um zero no<span class="phpKeyword"> final
</span>
</span>>if <span class="phpOperator">(</span><span class="phpFunction">strlen</span><span class="phpOperator">(</span>$m<span class="phpOperator">)</span> <span class="phpOperator">&lt;</span> <span class="phpNumber">2</span><span class="phpOperator">)</span>
$m <span class="phpOperator">=</span> $m <span class="phpOperator">.</span> 0;
<span class="phpKeyword">
return </span><span class="phpFunction">sprintf</span><span class="phpOperator">(</span><span class="phpString">'%02d<span class="phpOperator">:</span>%02d'</span>, $h, $m<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpOperator">}</span>
<span class="phpFunctionKeyword">function</span> Diferenca<span class="phpOperator">(</span>$data1, $data2<span class="phpOperator">=</span><span class="phpString">"",$tipo=""</span><span class="phpOperator">)</span><span class="phpOperator">{</span>
<span class="phpKeyword">
if<span class="phpOperator">(</span></span>$data2<span class="phpOperator"><span class="phpOperator">=</span>=</span><span class="phpString">""){
$data2 = date("d/m/Y H:i");
}
if($tipo==""</span><span class="phpOperator">)</span><span class="phpOperator">{</span>
$tipo <span class="phpOperator">=</span> <span class="phpString">"h"</span><span class="phpText">;</span>
<span class="phpOperator">}</span>
<span class="phpKeyword">
for<span class="phpOperator">(</span></span>$i<span class="phpOperator">=</span><span class="phpNumber">1</span><span class="phpText">;</span>$i<span class="phpOperator">&lt;</span><span class="phpOperator">=</span><span class="phpNumber">2</span><span class="phpText">;</span>$i<span class="phpOperator"><span class="phpOperator">+</span><span class="phpOperator">+</span></span><span class="phpOperator">)</span><span class="phpOperator">{</span>
$<span class="phpOperator">{</span><span class="phpString">"dia"</span>.$i<span class="phpOperator">}</span> <span class="phpOperator">=</span> <span class="phpFunction">substr</span><span class="phpOperator">(</span>$<span class="phpOperator">{</span><span class="phpString">"data"</span>.$i<span class="phpOperator">}</span>,<span class="phpNumber">0</span>,2<span class="phpOperator">)</span><span class="phpText">;</span>
$<span class="phpOperator">{</span><span class="phpString">"mes"</span>.$i<span class="phpOperator">}</span> <span class="phpOperator">=</span> <span class="phpFunction">substr</span><span class="phpOperator">(</span>$<span class="phpOperator">{</span><span class="phpString">"data"</span>.$i<span class="phpOperator">}</span>,<span class="phpNumber">3</span>,2<span class="phpOperator">)</span><span class="phpText">;</span>
$<span class="phpOperator">{</span><span class="phpString">"ano"</span>.$i<span class="phpOperator">}</span> <span class="phpOperator">=</span> <span class="phpFunction">substr</span><span class="phpOperator">(</span>$<span class="phpOperator">{</span><span class="phpString">"data"</span>.$i<span class="phpOperator">}</span>,<span class="phpNumber">6</span>,4<span class="phpOperator">)</span><span class="phpText">;</span>
$<span class="phpOperator">{</span><span class="phpString">"horas"</span>.$i<span class="phpOperator">}</span> <span class="phpOperator">=</span> <span class="phpFunction">substr</span><span class="phpOperator">(</span>$<span class="phpOperator">{</span><span class="phpString">"data"</span>.$i<span class="phpOperator">}</span>,11,<span class="phpNumber">2</span><span class="phpOperator">)</span><span class="phpText">;</span>
$<span class="phpOperator">{</span><span class="phpString">"minutos"</span>.$i<span class="phpOperator">}</span> <span class="phpOperator">=</span> <span class="phpFunction">substr</span><span class="phpOperator">(</span>$<span class="phpOperator">{</span><span class="phpString">"data"</span>.$i<span class="phpOperator">}</span>,14,<span class="phpNumber">2</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpOperator">}</span>
$segundos <span class="phpOperator">=</span> <span class="phpFunction">mktime</span><span class="phpOperator">(</span>$horas2,$minutos2,<span class="phpNumber">0</span>,$mes2,$dia2,$ano2<span class="phpOperator">)</span> - <span class="phpFunction">mktime</span><span class="phpOperator">(</span>$horas1,$minutos1,<span class="phpNumber">0</span>,$mes1,$dia1,$ano1<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">
switch<span class="phpOperator">(</span></span>$tipo<span class="phpOperator">)</span><span class="phpOperator">{</span>
<span class="phpKeyword">
case </span><span class="phpString">"m"</span><span class="phpOperator">:</span> $difere <span class="phpOperator">=</span> $segundos/60;   <span class="phpKeyword"> break<span class="phpText">;</span></span>
<span class="phpKeyword">
case </span><span class="phpString">"H"</span><span class="phpOperator">:</span> $difere <span class="phpOperator">=</span> $segundos/3600;   <span class="phpKeyword"> break<span class="phpText">;</span></span>
<span class="phpKeyword">
case </span><span class="phpString">"h"</span><span class="phpOperator">:</span> $difere <span class="phpOperator">=</span> <span class="phpFunction">round</span><span class="phpOperator">(</span>$segundos/3600<span class="phpOperator">)</span><span class="phpText">;</span>   <span class="phpKeyword"> break<span class="phpText">;</span></span>
<span class="phpKeyword">
case </span><span class="phpString">"D"</span><span class="phpOperator">:</span> $difere <span class="phpOperator">=</span> $segundos/86400;   <span class="phpKeyword"> break<span class="phpText">;</span></span>
<span class="phpKeyword">
case </span><span class="phpString">"d"</span><span class="phpOperator">:</span> $difere <span class="phpOperator">=</span> <span class="phpFunction">round</span><span class="phpOperator">(</span>$segundos/86400<span class="phpOperator">)</span><span class="phpText">;</span>   <span class="phpKeyword"> break<span class="phpText">;</span></span>
<span class="phpOperator">}</span>
<span class="phpKeyword">
return </span>$difere<span class="phpText">;</span>
<span class="phpOperator">}</span>
</pre>
<p>Fonte: Não lembro ;-D, mas eu mesmo modifiquei</p>
<p>Para usar a função acima, utilize</p>
<pre class="php">
<span class="phpFunction">echo</span> formata<span class="phpOperator">(</span>Diferenca<span class="phpOperator">(</span>$data1,$data2,<span class="phpString">"m"</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
<p>Bom, é isto, essas informações são bastante úteis para quem precisa mexer com tempos e datas que geram problemas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniellima.net/2009/09/14/somando-horas-no-php-e-no-mysql/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
