Ir para conteúdo
Fórum Script Brasil

paulo ch8

Membros
  • Total de itens

    11
  • Registro em

  • Última visita

Posts postados por paulo ch8

  1. 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:

    Erro no processamento de XML: formatação incorreta

    obs_Recebimento='Analise aps consluo dos anteriores'

    ---------------------------^

    Alguém sabe como resolver isso?

    E alguém sabe se essa é uma boa forma de realizar consultas ao banco de dados?

  2. 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.

  3. 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.

  4. 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?

  5. 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;
    }

  6. 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?

  7. 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>";

    }

    ?>

  8. 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?

×
×
  • Criar Novo...