2
I’m trying to get image data from a xml
but I’m having a hard time doing it, the record I’m reading is being overwritten.
I made a first foreach
and I can find the date I need, but now I need to enter an extra level to search for data from some images and I’m not getting it, the code even looks for the first record correctly but in the sequence occurs this overlap.
The code I have is this:
require_once ('../Connections/conn.php'); mysql_select_db($database_conn, $conn); $query_rcCidades = "SELECT * FROM PrevisaoCidade WHERE PrevisaoCidade.ativo = 1 ORDER BY PrevisaoCidade.IdCidade"; $rcCidades = mysql_query($query_rcCidades, $conn) or die(mysql_error()); $row_rcCidades = mysql_fetch_assoc($rcCidades); $totalRows_rcCidades = mysql_num_rows($rcCidades); do { // CIDADES CADASTRADAS $cCidades = 6683; $urlIcon = 'http://api.climatempo.com.br/api/v1/forecast/15days/icon?idlocale="'.$cCidades.'"'; // PERMISSÃO $post = array( 'key' => '', // chave de pedido 'client' => '', // login do cliente 'nocache' => true, // desabilitar cache 'type' => 'xml', // tipo de retorno json ou xml 'application' => 'Previsão 15 dias - Cidades' ); // OBTENDO PERMISSÃO $http = array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => http_build_query($post) ); $context = stream_context_create(array('http' => $http)); // ÍCONE $request = file_get_contents($urlIcon, true, $context); $itemIcone = simplexml_load_string($request); // SELECIONANDO ÍCONE $IcoManha = null; $IcoTarde = null; $IcoNoite = null; $IcoDia = null; // A VARIÁVEL $ItemIcone CONTÉM O XML CARREGADO foreach($itemIcone->data->item->weather->item as $reg) { // ZERANDO O ARRAY $data = array(); // ÍCONES $data['api']['data']['item']['weather']['item'][] = array ( // LENDO OS NÓS 'date' => (string)$reg['date'], ); $Data = $data['api']['data']['item']['weather']['item'][0]['date']; // SEGUNDO FOREACH PARA BUSCAR AS IMAGENS // A VARIÁVEL $ItemIcone CONTÉM O XML CARREGADO foreach($itemIcone->data->item->weather->item->icon as $regs) { $dataIcon = array(); $dataIcon['api']['data']['item']['weather']['item']['icon'][] = array ( // LENDO OS NÓS 'morning' => (string)$regs['morning'], 'afternoon' => (string)$regs['afternoon'], 'night' => (string)$regs['night'], 'day' => (string)$regs['day'], ); // ATRIBUINDO AS VARIÁVEIS $IcoManha = $dataIcon['api']['data']['item']['weather']['item']['icon'][0]['morning']; $IcoTarde = $dataIcon['api']['data']['item']['weather']['item']['icon'][0]['afternoon']; $IcoNoite = $dataIcon['api']['data']['item']['weather']['item']['icon'][0]['night']; $IcoDia = $dataIcon['api']['data']['item']['weather']['item']['icon'][0]['day']; } echo "DATA: " . $Data . " MANHA:" . $IcoManha . " TARDE: " . $IcoTarde . " NOITE: " . $IcoNoite . " DIA: " . $IcoDia . "
"; // echo "DATA: " . $Data . "MANHA:" . $IcoManha . " TARDE: " . $IcoTarde . " NOITE: " . $IcoNoite . " DIA: " . $IcoDia . "
"; } } while ($row_rcCidades = mysql_fetch_assoc($rcCidades));
was wrong my answer, so I changed the code
– Andrei Coelho