paulo ch8
-
Total de itens
11 -
Registro em
-
Última visita
Posts postados por paulo ch8
-
-
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_filedefine('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:
-
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?
-
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>";
}
?>
-
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?
Requisitar página PHP processada pelo PHP
em PHP
Postado
RESOLVIDO. funcionou como descrito acima
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?