Ir ao conteúdo
  • Cadastre-se

Sayd L

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Tudo que Sayd L postou

  1. Funcionou perfeitamente! Obrigado. Estranho essa mudança, antes de fazer a minha migração de máquina funcionava normalmente e não apresentava logs de erros.
  2. Opa. Por insert eu consigo inserir um por vez, porém é em torno de 350+ registros para inserção. Obrigado pela resposta. Hum. Eu alterei aqui como informado e apresentou outro error: Data too long for column 'codigo' at row 1 Obrigado pela resposta.
  3. Bom dia! Estou com um problema em uma requisição de um script que importo informações de uma DB de uma imobiliária para outra. A questão que antes, em ambiante Windows o script funcionava sem problemas, agora que estou migrando para um ambiente Linux está aparecendo a seguinte mensagem: Data truncated for column 'codigo' at row 1. Acredito que seja algo relacionada as versões do PHP ou MySQL. Estrutura da tabela `imoveis` -- CREATE TABLE `imoveis` ( `id` int(11) DEFAULT NULL, `codigo` int(11) DEFAULT NULL, `tipo` varchar(255) COLLATE latin1_general_ci DEFAULT NULL, `link` varchar(255) COLLATE latin1_general_ci DEFAULT NULL, `endereco` varchar(255) COLLATE latin1_general_ci DEFAULT NULL, `bairro` varchar(255) COLLATE latin1_general_ci DEFAULT NULL, `fotos` int(11) DEFAULT NULL, `finalidade` varchar(100) COLLATE latin1_general_ci DEFAULT NULL, `descricao` varchar(255) COLLATE latin1_general_ci DEFAULT NULL, `quartos` varchar(2) COLLATE latin1_general_ci DEFAULT NULL, `suites` varchar(2) COLLATE latin1_general_ci DEFAULT NULL, `banheiros` varchar(2) COLLATE latin1_general_ci DEFAULT NULL, `garagens` varchar(2) COLLATE latin1_general_ci DEFAULT NULL, `valor` varchar(10) COLLATE latin1_general_ci DEFAULT NULL, `latitude` varchar(100) COLLATE latin1_general_ci DEFAULT NULL, `longitude` varchar(100) COLLATE latin1_general_ci DEFAULT NULL, `cep` varchar(15) COLLATE latin1_general_ci DEFAULT NULL, `cidade` varchar(50) COLLATE latin1_general_ci DEFAULT NULL, `estado` varchar(2) COLLATE latin1_general_ci DEFAULT NULL, `data_atualizacao` varchar(15) COLLATE latin1_general_ci DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; <?php // CONECTA AO BANCO EXTERNO $server = 'localhost'; $banco = 'teste'; $usuario_db = 'teste'; $senha_db = 'teste'; $conexao = mysql_connect($server,$usuario_db,$senha_db) or die(mysql_error()); mysql_select_db($banco,$conexao) or die(mysql_error()); $data_atualizacao = date("d/m/Y h:i:s"); //PEGA DADOS IMOVEIS INICIAL ////////////////////////////////////////////////// //LIMPA BANCO $query = "DELETE FROM imoveis" ; mysql_query($query,$conexao) or die (mysql_error()); $url = "http://www.sicadi.com.br/i_mostra_imoveis_xml.php?codigo_imobiliaria=0206"; $cURL = curl_init($url); curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true); curl_setopt($cURL, CURLOPT_FOLLOWLOCATION, true); $resultado = curl_exec($cURL); //echo utf8_encode($resultado); curl_close($cURL); //LIMPAR $resultado = str_replace("<![CDATA[","",$resultado); $resultado = str_replace("]]>","",$resultado); //CORRIGE NOMES $resultado = str_replace("RESID&ECIRC;NCIA","RESIDÊNCIA",$resultado); /*$resultado = str_replace("GALP&ATILDE;O/BARRAC&ATILDE;O","GALPÃO/BARRACÃO",$resultado); */ $resultado = str_replace("Ã","Ã",$resultado); $resultado = str_replace("Á","Á",$resultado); $resultado = str_replace("á","á",$resultado); $resultado = str_replace("Ê","Ê",$resultado); $resultado = str_replace("Â","Â",$resultado); $resultado = str_replace("Ç","Ç",$resultado); $resultado = str_replace("Ó","Ó",$resultado); $resultado = str_replace("Í","Í",$resultado); $resultado = str_replace("º","°",$resultado); $resultado = str_replace("&IACUTE;", "Í",$resultado); $resultado = str_replace("&AACUTE;", "Á",$resultado); $resultado = str_replace("&ATILDE;", "Ã",$resultado); //PEGAR O INICIO DO IMOVEL $inicio = strpos($resultado,"<imovel id"); $fim = strpos($resultado,"</imoveis>"); //PEGAR APENAS O QUE QUERO $resultado = substr($resultado, $inicio, $fim); $im = explode('</imovel>', $resultado); //QUANTIDADE $qt = count($im); //COLOCA EM BANCO for($i =0; $i < $qt - 1; $i++){ //PEGA IMOVEIS $imovel = $im[$i]; $imovel = str_replace("</"," ",$imovel); $imovel = str_replace("<"," ",$imovel); $imovel = str_replace(">"," ",$imovel); $imovel = str_replace("codigo","id codigo",$imovel); $imovel = str_replace('" tipo','"codigo tipo',$imovel); $imovel = str_replace('/ disponibilidade',"fotos_disponiveis count disponibilidade",$imovel); $imovel = str_replace('valor="', 'finalidade valor="',$imovel); $imovel = str_replace('"fotos_disponiveis', ' valor',$imovel); $id = explode('id', $imovel); $id = str_replace('="',"",$id); $id = str_replace('"',"",$id); $id = utf8_decode(trim($id[1])); $codigo = explode('codigo', $imovel); $codigo = str_replace('="',"",$codigo); $codigo = str_replace('"',"",$codigo); $codigo = utf8_decode(trim($codigo[1])); $tipo = explode('tipo', $imovel); $tipo = str_replace('="',"",$tipo); $tipo = str_replace('"',"",$tipo); $tipo = utf8_decode(trim($tipo[1])); $link = explode('link', $imovel); $link = str_replace('="',"",$link); $link = str_replace('"',"",$link); $link = trim($link[1]); $endereco = explode('endereco', $imovel); $endereco = str_replace('="',"",$endereco); $endereco = str_replace('"',"",$endereco); $endereco = utf8_decode(trim($endereco[1])); $bairro = explode('bairro', $imovel); $bairro = str_replace('="',"",$bairro); $bairro = str_replace('"',"",$bairro); $bairro = utf8_decode(trim($bairro[1])); $fotos = explode('fotos_disponiveis count', $imovel); $fotos = trim($fotos[1]); $fotos = str_replace('="',"",$fotos); $fotos = str_replace('"',"",$fotos); $fotos = str_replace('/',"",$fotos); $fotos = substr($fotos, 0, 3); echo $fotos.'<br>'; $finalidade = explode('finalidade', $imovel); $finalidade = str_replace('="',"",$finalidade); $finalidade = str_replace('"',"",$finalidade); $finalidade = trim($finalidade[1]); $valor = explode('valor', $imovel); $valor = str_replace('="',"",$valor); $valor = str_replace('"',"",$valor); $valor = str_replace('/',"",$valor); $valor = trim($valor[1]); $quartos = explode('quartos', $imovel); $quartos = str_replace('="',"",$quartos); $quartos = str_replace('"',"",$quartos); $quartos = trim($quartos[1]); $suites = explode('suites', $imovel); $suites = str_replace('="',"",$suites); $suites = str_replace('"',"",$suites); $suites = trim($suites[1]); $banheiros = explode('banheiros', $imovel); $banheiros = str_replace('="',"",$banheiros); $banheiros = str_replace('"',"",$banheiros); $banheiros = trim($banheiros[1]); $garagens = explode('garagens', $imovel); $garagens = str_replace('="',"",$garagens); $garagens = str_replace('"',"",$garagens); $garagens = trim($garagens[1]); $query = "INSERT INTO imoveis (id, codigo, tipo, link, endereco, bairro, fotos, finalidade, valor, quartos, suites, banheiros, garagens, data_atualizacao) VALUES ('$id', '$codigo', '$tipo', '$link', '$endereco', '$bairro', '$fotos', '$finalidade', '$valor', '$quartos', '$suites', '$banheiros', '$garagens', '$data_atualizacao')" ; mysql_query($query,$conexao) or die (mysql_error()); } //ATUALIZA IMOVEIS E INSERE FOTOS ////////////////////////////////////////////////// //LIMPA BANCO $query = "DELETE FROM fotos" ; mysql_query($query,$conexao) or die (mysql_error()); // LOOP EM TODOS OS IMOVEIS $query = "SELECT * FROM imoveis"; $result = mysql_query($query,$conexao) or die(mysql_error()); while ($linha = mysql_fetch_array($result)) { $link = $linha[link]; $url = "http://www.sicadi.com.br/".$link; $cURL = curl_init($url); curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true); curl_setopt($cURL, CURLOPT_FOLLOWLOCATION, true); $resultado = curl_exec($cURL); //echo utf8_encode($resultado); curl_close($cURL); //LIMPAR $resultado = str_replace('<?xml version="1.0" encoding="ISO-8859-1"?>',"",$resultado); $resultado = str_replace("<![CDATA[","",$resultado); $resultado = str_replace("]]>","",$resultado); //PEGAR O ID IMOVEL $inicio = strpos($resultado,'<imovel id="'); $fim = strpos($resultado,'codigo='); $id_imovel = substr($resultado, $inicio, $fim); $id_imovel = str_replace('<imovel id="','',$id_imovel); $id_imovel = str_replace('" c','',$id_imovel); //PEGAR FOTOS $resultado = str_replace('" ></foto>','src="',$resultado); $fotos_internas = explode('src="', $resultado); $total_fotos = count($fotos_internas) - 1; //INSERE FOTOS for($r=1;$r<=$total_fotos;$r +=2){ $ft = "INSERT INTO fotos (id_imovel, foto, data_atualizacao) VALUES ('$id_imovel', '$fotos_internas[$r]', '$data_atualizacao')" ; mysql_query($ft,$conexao) or die (mysql_error()); } //PEGA CIDADE $inicio = strpos($resultado,'<cidade>'); $fim = strpos($resultado,'<estado>'); $cidade = substr($resultado, $inicio, $fim - $inicio); $cidade = str_replace('<cidade>','',$cidade); $cidade = str_replace('</cidade>','',$cidade); $cidade = trim($cidade); //PEGA ESTADO $inicio = strpos($resultado,'<estado>'); $fim = strpos($resultado,'<cep>'); $estado = substr($resultado, $inicio, $fim - $inicio); $estado = str_replace('<estado>','',$estado); $estado = str_replace('</estado>','',$estado); $estado = trim($estado); //PEGA CEP $inicio = strpos($resultado,'<cep>'); $fim = strpos($resultado,'<condominio>'); $cep = substr($resultado, $inicio, $fim - $inicio); $cep = str_replace('<cep>','',$cep); $cep = str_replace('</cep>','',$cep); $cep = str_replace('-','',$cep); $cep = trim($cep); //PEGA DESCRICAO $inicio = strpos($resultado,'<caracteristicas>'); $fim = strpos($resultado,'<area_total'); $descricao = substr($resultado, $inicio, $fim - $inicio); $descricao = str_replace('<caracteristicas>','',$descricao); $descricao = str_replace('</caracteristicas>','',$descricao); $descricao = str_replace("'","''",$descricao); $descricao = trim($descricao); //PEGA COORDENADA $url = "http://maps.google.com/maps/api/geocode/json?address=$cep,$cidade,$estado&sensor=false"; $cURL = curl_init($url); curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true); curl_setopt($cURL, CURLOPT_FOLLOWLOCATION, true); $resultado = curl_exec($cURL); //echo utf8_encode($resultado); curl_close($cURL); $inicio = strpos($resultado,'"location"'); $fim = strpos($resultado,'"location_type"'); $localizacao = substr($resultado, $inicio, $fim - $inicio); $localizacao = explode(',', $localizacao); $latitude = trim($localizacao[0]); $latitude = str_replace("\n", "", $latitude); $latitude = str_replace(" ", "", $latitude); $latitude = str_replace('"location":{"lat":', "", $latitude); $longitude = trim($localizacao[1]); $longitude = str_replace("\n", "", $longitude); $longitude = str_replace(" ", "", $longitude); $longitude = str_replace('"lng":', '', $longitude); $longitude = str_replace('}', '', $longitude); //ATUALIZA DADOS IMOVEIS $sql = "UPDATE imoveis set longitude = '$longitude', latitude = '$latitude', cep = '$cep', cidade = '$cidade', estado = '$estado', descricao = '$descricao' where id = '$id_imovel'" ; //echo $sql; mysql_query($sql,$conexao) or die (mysql_error()); } ?>

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!