Olá, econtrei este script de previsão do tempo que pega os dados de um xml e grava em banco, mas não estou conseguindo fazer ele exibir os dados corretamente:
estrutura arquivo tempo.php
<?php
//Script desenvolvido por Victor Mangia em 23/08/2010 22:04//Twitter: @mangiavictor//entre abaixo com o numero da cidade//busque o numero da cidade em http://tempo.cptec.inpe.br/
$numerocidade="1064";//configuração de conexão com o banco de dados
mysql_connect('localhost','user','senha')ordie('Não foi possivel conectar: '. mysql_error());
mysql_select_db('previsao')ordie('Não pude selecionar o banco de dados');//verificar se já tem o registro no banco
$sqlPrevisao=mysql_num_rows(mysql_query("select * from previsao where dt_atualizacao = now()"));if($sqlPrevisao <1){
$obj = simplexml_load_file("http://servicos.cptec.inpe.br/XML/cidade/".$numerocidade."/previsao.xml");
$contaReg = count($obj)-1;for($i=0; $i <=$contaReg; $i++){//evitando gravacao de registros invalidosif(isset($obj->previsao[$i]->dia)){//gravando as previsoes
$sqlGravar=mysql_query("insert into previsao_brasmid set
dia='".$obj->previsao[$i]->dia."',
icone='".$obj->previsao[$i]->tempo."',
maxima='".$obj->previsao[$i]->maxima."',
minima='".$obj->previsao[$i]->minima."',
dt_atualizacao=now()
");}//buscar a previsao do dia
$sqlDia=mysql_fetch_array(mysql_query("select minima, maxima, icone from previsao_brasmid order by dia desc limit 1"));
$icone="<img src='icones_tempo/".$sqlDia['icone'].".png' alt=''>";
$maxima=$sqlDia['maxima'];
$minima=$sqlDia['minima'];}}else{//buscar a previsao do dia
$sqlDia=mysql_fetch_array(mysql_query("select minima, maxima, icone from previsao_brasmid order by dia desc limit 1"));
$icone="<img src='icones_tempo/".$sqlDia['icone'].".png' alt=''>";
$maxima=$sqlDia['maxima'];
$minima=$sqlDia['minima'];}?>
estrutura index.php
<?php
//Script desenvolvido por Victor Mangia em 23/08/2010 22:04//Twitter: @mangiavictor//Configure o arquivo abaixo com seu banco de dados
include "tempo.php";?><table width='145' border='0' cellpadding='1' cellspacing='0'class='txttopo'><tr><td width='41' rowspan='2' align='center'><?php echo $icone;?></td><td colspan='5'><strong>Caçador/SC</strong></td></tr><tr><td width='10'><img src='icones_tempo/seta_topo1.gif' alt='Temperatura Mínima' width='10' height='9' /></td>
<td width='21'><strong><?php echo $minima;?></strong></td>
<td width='10'><img src='icones_tempo/seta_topo2.gif' alt='Temperatura Máxima' width='10' height='9' /></td>
<td width='20'><strong><?php echo $maxima;?></strong></td>
<td><strong>-<?php echo date('d/m/y');?></strong></td>
</tr></table>
banco de dados
CREATE TABLE IF NOT EXISTS `previsao_brasmid` (
`dia` date NOT NULL,
`icone` varchar(100) NOT NULL,
`maxima` int(3) NOT NULL,
`minima` int(3) NOT NULL,
`dt_atualizacao` date NOT NULL,
KEY `dia` (`dia`)
);
o que acontece é que ele gera uma enorme quantia de dados no banco, e mostra apenas a previsão para o 4º dia e não a atual.
Pergunta
Von_Reibnitz
Olá, econtrei este script de previsão do tempo que pega os dados de um xml e grava em banco, mas não estou conseguindo fazer ele exibir os dados corretamente:
banco de dados CREATE TABLE IF NOT EXISTS `previsao_brasmid` ( `dia` date NOT NULL, `icone` varchar(100) NOT NULL, `maxima` int(3) NOT NULL, `minima` int(3) NOT NULL, `dt_atualizacao` date NOT NULL, KEY `dia` (`dia`) );
o que acontece é que ele gera uma enorme quantia de dados no banco, e mostra apenas a previsão para o 4º dia e não a atual.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.