
paulo ch8
Membros-
Total de itens
11 -
Registro em
-
Última visita
Sobre paulo ch8

paulo ch8's Achievements
0
Reputação
-
RESOLVIDO. funcionou como descrito acima define('CONSULTA',"http://192.179.0.150/Nucleo/Nucleo2.0/2011.05.05/Consulta.php?NB=$NB"); $strConsulta = file_get_contents(CONSULTA); $dadosProcesso = simplexml_load_string($strConsulta); print_r($dadosProcesso); echo $dadosProcesso[nb]; A diferença é só o campo do objeto array que não recebe apóstrofo. -_-' O meu problema agora é no retorno do XML que recebe caracteres que não estão sendo aceitos: Alguém sabe como resolver isso? E alguém sabe se essa é uma boa forma de realizar consultas ao banco de dados?
-
consegui a resposta da página através do comando file_get_contents a diferença é que eu devo colocar o ip no caminho do site: define('CONSULTA',"http://192.179.0.150/Nucleo/Nucleo2.0/2011.05.05/Consulta.php?NB=$NB"); $strConsulta = file_get_contents(CONSULTA); echo $strConsulta; o echo me apresenta as tags do XML devidamente formatadas. Agora eu preciso saber como acessar os elementos para apresentar na página. O código que gera o XML é o descrito acima. Estou tentando acessa-los através do SimpleXML: $dadosProcesso = simplexml_load_string($strConsulta); echo $dadosProcesso->Processo['NB']; mas não está me retornando o objeto.
-
eu preciso recuperar esta página que gera um XML: <?php require_once('DB\DbLogin.php'); extract($_GET); header("Content-type: text/xml; charset=ISO-8859-1"); echo '<?xml version="1.0" encoding="utf-8"?>'; $pesquisa = new DB_DbLogin(); printf ("<Documento teste='oi'>"); if($pesquisa->consulta("SELECT * FROM processo WHERE NB =".$NB)){ $linhaNB = mysql_fetch_assoc($pesquisa->resultado); printf ("<Processo idProcesso='%s' NB='%s' Especie='%s' DER='%s' Descricao='%s' Documentos='%s' Comprev='%s' Excluido='%s' />", $linhaNB['idProcesso'], $linhaNB['NB'], $linhaNB['Especie'], $linhaNB['DER'], $linhaNB['Descricao'], $linhaNB['Documentos'], $linhaNB['Comprev'], $linhaNB['Excluido']); //echo "<Processo idProcesso=$NB>"; //printf ("</Processo>"); } printf ("</Documento>"); ?> Tentei o simplexml_load_file define('CONSULTA','http://localhost/teste/Consulta.php?NB=1205712469'); $xml=simplexml_load_file($contents); echo $xml['teste']; echo $xml->Processo['idProcesso']; E tentei o file_get_contents: $content = http_build_query(array( 'NB' => '1205712469', )); $context = stream_context_create(array( 'http' => array( 'method' => 'GET', 'content' => $content, ) )); $contents = file_get_contents('http://localhost/teste/Consulta.php', null, $context); echo $contents; $xml=simplexml_load_file($contents); echo $xml['teste']; echo $xml->Processo['idProcesso']; Não funcionaram.
-
Veja o sscanf do PHP: http://php.net/manual/en/function.sscanf.php
-
Olá! Está muito difícil de encontrar. Tenho uma página php que me retorna um documento XML. Gostaria de fazer sua requisição POT ou GET através de outra página PHP para processar o XML. As páginsa estã na mesma pasta do servidor. Estou testando no localhost Já tentei File_get_contents e não consegui, da seguinte forma: $content = http_build_query(array( 'cidade' => 'Rio de Janeiro', 'tipo' => 'Apartamento', )); $context = stream_context_create(array( 'http' => array( 'method' => 'POST', 'content' => $content, ) )); $contents = file_get_contents('teste.php', null, $context); Alguma outra idéia?
-
abro a conexão com a função mysql_connect e mysql_select_db. Já testei em outra máquina com outro wamp mas também aconteceu a mesma coisa. Eu teria que usar algum comando de Transaction, commit? Se bem que o manual do sql diz que ele é autocommit. Meu código de conexão é este: $servidor = "localhost"; $db = "processosdb"; if($conexao = mysql_connect($servidor,'root','')){ if(!mysql_select_db($db)){ //echo "Não foi possível selecionar a base de dados<br />"; $this->dbconnect = false; //return false; } else{ //echo "conectou a base de dados<br />"; $this->dbconnect = true; //return true; } } else{ //echo "Não foi possível conectar ao banco de dados"; $this->dbconnect = false; //return false; }
-
Olá, fiz um insert através de PHP, com o comando mysql_query da seguinte forma: $sql = "INSERT INTO processo (`Especie`, `idRequerente`) VALUES ('$this->especie', '$this->idRequerente')"; mysql_query($sql) Logo em seguida eu faço a consulta também com o mysql_query e funciona bem no Chrome mas quando eu uso o Internet Explorer, ele executa a insert, mas quando eu realizo a consulta em seguida o registro não aparece. Eu tenho que fechar e abrir o IE para a consulta retornar o registro. Existe algum comando para ele atualizar a conexão com o banco de dados?
-
Acessar elementos de outra página sem abri-la
pergunta respondeu ao paulo ch8 de paulo ch8 em Ajax, JavaScript, XML, DOM
Não existe maneira de passar a url com os parâmetros GET e recuperar a página como em um objeto xmlhttp, acessando seus elementos como XML? Como num responseXML acessar os elementos da página com getElementsByTagName sem exibi-la? -
Resolvido. Eu não conseguia verificar as falhas nos resultados porque o retorno do php voltava ao xmlhttp e eu não conseguia ver os erros do retorno. Consegui inspecionando o elemento xmlhttp com o depurador do Chrome. Finalmente: Erro de sintaxe e outras coisas... eis o correto: javascript function catchDados(valor) { var elemento = document.getElementById('idPosicao'); objetoXML(); if (!xmlhttp) { elemento.innerHTML = 'Impossível iniciar o objeto XMLHttpRequest.'; return; } else { elemento.innerHTML = 'Carregando...'; } xmlhttp.onreadystatechange = function () { //Se a requisição estiver completada if (xmlhttp.readyState == 4 || xmlhttp.readyState == 0) { //Se o status da requisição estiver OK if (xmlhttp.status == 200) { //Insere no 'elemento' a página postada montaCombo(xmlhttp.responseXML); } else { //Insere no 'elemento' o texto atribuído elemento.innerHMTL = 'Página não encontrada!'; } } } xmlhttp.open('GET', 'situacaoPosicao.php?idSituacao='+valor, true); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlhttp.send(null); } function montaCombo(XML){ var items = XML.getElementsByTagName("posicao"); posicoes = document.getElementById("idPosicao"); opt = document.createElement("option"); opt.value = ""; opt.text = ""; posicoes.options.add(opt); for(var i = 0 ; i < items.length ; i++) { var item = items; id = item.getElementsByTagName("idPosicao")[0].firstChild.nodeValue; nome = item.getElementsByTagName("Descricao")[0].firstChild.nodeValue; opt = document.createElement("option"); opt.value = id; opt.text = i+1 +" - " + nome; posicoes.options.add(opt); } } Arquivo php: <?php class DB_Login{ function conectar($nmUsuario,$pwdSenha){ $servidor = "localhost"; $db = "processosdb"; if($conexao = mysql_connect($servidor,$nmUsuario,$pwdSenha)){ if(!mysql_select_db($db)){ echo "Não foi possível selecionar a base de dados<br />"; return fales; } else{ //echo "conectou a base de dados<br />"; return true; } } else{ echo "Não foi possível conectar ao banco de dados"; return false; } } } extract($_GET); header("Content-type: text/xml; charset=ISO-8859-1"); echo '<?xml version=1.0" encoding="ISO-8859-1"?>'; $conexao = new DB_Login; if ($conexao->conectar('root','')){ $sql ="SELECT ps.`idPosicao`, p.`Descricao` FROM posicao_has_situacao ps, posicao p WHERE ps.`idPosicao` = p.`idPosicao` AND ps.`idSituacao` = '$idSituacao'"; $resultado = mysql_query($sql); echo "<Posicoes>"; while ( $record = mysql_fetch_array($resultado, MYSQL_ASSOC) ) { printf ("<posicao>\n"); printf ("<idPosicao>%s</idPosicao>\n", $record['idPosicao]); printf ("<Descricao>%s</Descricao>\n", $record['Descricao']); printf ("</posicao>\n"); } echo "</Posicoes>"; } ?>
-
Acessar elementos de outra página sem abri-la
uma questão postou paulo ch8 Ajax, JavaScript, XML, DOM
Como eu faço para acessar um elemento de outra página sem abri-la? Eu quero acessar um elemento <p> que é o resultado gerado por uma página PHP. A página da qual eu quero extrair o elemento não é do meu servidor, por isso não tenho acesso direto a página. Eu acessar o elemento sem abrir a página. como eu devo fazer? -
Socorro!!! Estou tentando desesperadamente retornar um XML para criação de combobox dinamica mas não consigo obter resultado. Eu chamo pelo script: xmlhttp.onreadystatechange = function () { //Se a requisição estiver completada if (xmlhttp.readyState == 4 || xmlhttp.readyState == 0) { //Se o status da requisição estiver OK if (xmlhttp.status == 200) { //Insere no 'elemento' a página postada montaCombo(xmlhttpPosicao.responseXML); } else { //Insere no 'elemento' o texto atribuído elemento.innerHMTL = 'Página não encontrada!'; } } } xmlhttp.open('POST', 'situacaoPosicao.php?idSituacao='+valor, true); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlhttp.send('idSituacao='+valor); e passo para o php: situacaoPosicao.php: <?php class DB_Login{ var $conexao function conectar($nmUsuario,$pwdSenha){ $servidor = "localhost"; $basedados = "processosdb"; if($conexao = mysql_connect($servidor,$nmUsuario,$pwdSenha)){ echo "condectou db"; if(!mysql_select_db($basedados)){ return fales; } else{ return true; } } else{ return false; } } function desconectar(){ mysql_close($conexao); } } extract($_GET); header("Content-type: text/xml; charset=ISO-8859-1"); echo '<?xml version="1.0" encoding="ISO-8859-1"?>'; $conexao = new DB_Login; if ($conexao->conectar('root','')){ $sql ="SELECT ps.`idPosicao`, p.`Descricao` FROM posicao_has_situacao ps, posicao p WHERE ps.`idPosicao` = p.`idPosicao` AND ps.`idSituacao` = '$idSituacao'"; $resultado = mysql_query($sql); $qtdResultdados = mysql_num_rows($resultado); echo "<Posicoes>"; while ( $record = mysql_fetch_array($resultado, MYSQL_ASSOC) ) { echo ("<posicao>\n"); echo ("<idPosicao>%s</idPosicao>\n", $record['idPosicao']); echo ("<Descricao>%s</Descricao>\n", $record['Descricao']); echo ("</posicao>\n"); } echo "</Posicoes>"; $db->desconectar; } ?> Mas ele nunca reconhece o xmlhttpPosicao.responseXML e retorna xmlhttp.status 500. O que eu devo fazer?