Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

PauloRMaia

Extrair Result

Recommended Posts

Olá, estou usando esta função para comunicar com meu webservice 

 

$client = new SoapClient('http://Meuwebservice.asmx?wsdl');
$funcao = 'ConsultarUsuario';
$argumentos= array('ConsultarUsuario'  => array(
                        'ChaveUsuario' => 'chave de acesso do usuario',
                        'aplicativo'   => 'Nome da minha aplicação',
                        'RotaDatabase' => 'caminho da minha base de dados'
                ));
$resultado = $client->__soapCall($funcao, $argumentos); 
echo 'RESPOSTA = ';
print_r($resultado);

E esta funcionando bem, e esta me retornando todos os resultados =  recebo 20 results

Assim

RESPOSTA = stdClass Object ( [ConsultarUsuarioResult] => stdClass Object ( [string] => Array ( [0] => Usuário Registrado [1] => User Teste Mob1 [2] => U10SEG0721 [3] => 10/07/2017 03:00:00 [4] => 10/08/2017 03:00:00 [5] => Ativo [6] => Paulo R Maia [7] => 55555555555555 [8] => endereço teste [9] => 77 [10] => casa [11] => bairro teste [12] => cidade teste [13] => sp [14] => 55555555 [15] => 55555555555 [16] => teste@hotmail.com [17] => Sistema [18] => 99 [19] => Testando [20] => 1 ) ) )

 

* Preciso extrair o Result(0)  e o Result(5)   desse retorno !  para fazer uma comparação ,  como posso fazer isso ?

OU...

* Preciso extrair o Array(0)  e o Array(5)   desse retorno !  para fazer uma comparação ,  como posso fazer isso ?

Assim não funciona...........

ex. em VBA.

If ($funcao = 'ConsultarUsuario'[0] === 'Usuário Registrado') {
    echo '*OK Registrado';
// cria um arquivo registro no regedit do windows
else
 echo '*Não Registrado';
// Ler o arquivo registro criado no regedit

// Atualiza o arquivo registro criado no regedit

}

 

Como posso obter esse resultado , para o desvio ( if )  que preciso.

após isso , obtendo esse resultado preciso criar um arquivo no regedit do windows 

 

Qual a solução para esse problema ?


.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você escreveu um código qualquer sem saber o que está fazendo e queria que funcionasse? 

 

Em 7/26/2017 at 20:11, PauloRMaia disse:

Assim não funciona...........


If ($funcao = 'ConsultarUsuario'[0] === 'Usuário Registrado') {
    echo '*OK Registrado';
// cria um arquivo registro no regedit do windows
else
 echo '*Não Registrado';
// Ler o arquivo registro criado no regedit

// Atualiza o arquivo registro criado no regedit

}

 

 

Você precisa aprender a manipular objetos e arrays.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim ,  basta compreender o que eu disse na criação do tópico,  que uso em VBA ,  e deixei o cod. como exemplo para ter uma noção e me ajudarem a formar um em PHP !

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites
47 minutos atrás, Lucas Guima disse:

Você escreveu um código qualquer sem saber o que está fazendo e queria que funcionasse? 

 

 

Você precisa aprender a manipular objetos e arrays.

 

Só Faltou mesmo, Realmente TENTAR AJUDAR .......

 

Aguardo.

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por mamotinho
      Boa noite! estou com dúvidas em relação a array, eu tenho uma procedure no SQL Server e essa procedure exibe uma lista de resultados, eu gostaria de pega o valor desses resultados e lista em um array para eu comparar com outro valor que vai ser selecionado em um select , tipo abaixo:
       
      $arraySelect = $db->prepare(exec WebSite.dbo.server_value_product 2);
      $arraySelect->execute();
      $arrayExemple = $arraySelect->fetchAll();

      procedure_list = array($arrayExemple);
       
      !in_array($valorSelect, $procedure_list){
         echo 'O Valor selecionado não existe nos resultados da procedure';
      }
       
       
      alguem sabe como posso listar o resultado da procedure em array. e sabe se o valor que procuro está entre os resultados da array.
    • Por mamotinho
      oi pessoal estou com um problema , não estou conseguindo passar todos os valores o foreach no json_encode() alguém poderia me ajudar, eu estou tentando monta um mecanismo de refresh em tempo real de uma lista de notificação veja abaixo:
       
      <script type="text/javascript"> function make_call() { // Fazendo requisição AJAX $j.post('teste.php', function (frase) { // Exibindo frase $j('#listas').html('<i>' + frase + '</i>'); }, 'JSON'); setTimeout(function(){ make_call(); }, 5000); } </script>
      Aqui é o arquivo que quero enviar para a div #lists
       
      <?php require("conexao/directory.php"); $notificar = $db->query("select TOP 5 * from Techi7CP.dbo.cabal_notificacao_geral order by regdate desc"); $notificacao = $notificar->fetchAll(); $count_notificacao = abs($notificar->rowCount()); if($count_notificacao==0){ echo '<li style="text-align:center;">não existe notificações no momento.</li>'; }else{ foreach($notificacao as $notif){ $consulta_conta = $db->query("select * from account.dbo.cabal_auth_table where UserNum='".$notif['usernum']."'")->fetchObject(); switch($notif['acao']){ case 'logadopremiado' : echo ' <li><a class="black-text" href="#!"><span class="material-icons icon-bg-circle red small">redeem</span>'.$notif['jogador'].' ganhou no Logado Premiado</a> <time class="media-meta grey-text darken-2" datetime="2015-06-12T20:50:48+08:00"> '.Data::ExibirTempoDecorrido(date("Y-m-d H:i:s.B", strtotime($notif['regdate']))).'</time> </li>'; break; case 'mudarsenha' : echo ' <li><a class="black-text" href="#!"><span class="material-icons icon-bg-circle teal small">vpn_key</span>'.$consulta_conta->Nome.' alterou sua senha</a> <time class="media-meta grey-text darken-2" datetime="2015-06-12T20:50:48+08:00"> '.Data::ExibirTempoDecorrido(date("Y-m-d H:i:s.B", strtotime($notif['regdate']))).'</time> </li>'; break; case 'distribuirpontos' : echo ' <li><a class="black-text" href="#!"><span class="material-icons icon-bg-circle cyan small">control_point</span>'.$notif['jogador'].' distribuiu seus pontos</a> <time class="media-meta grey-text darken-2" datetime="2015-06-12T20:50:48+08:00"> '.Data::ExibirTempoDecorrido(date("Y-m-d H:i:s.B", strtotime($notif['regdate']))).'</time> </li>'; break; case 'girodasorte' : echo ' <li><a class="black-text" href="#!"><span class="material-icons icon-bg-circle brown small">star_border</span>'.$consulta_conta->Nome.' usou o giro da sorte</a> <time class="media-meta grey-text darken-2" datetime="2015-06-12T20:50:48+08:00"> '.Data::ExibirTempoDecorrido(date("Y-m-d H:i:s.B", strtotime($notif['regdate']))).'</time> </li>'; break; case 'sistematpoint' : echo ' <li><a class="black-text" href="#!"><span class="material-icons icon-bg-circle green small">golf_course</span>'.$notif['jogador'].' recebeu seu tpoint por clique</a> <time class="media-meta grey-text darken-2" datetime="2015-06-12T20:50:48+08:00"> '.Data::ExibirTempoDecorrido(date("Y-m-d H:i:s.B", strtotime($notif['regdate']))).'</time> </li>'; break; case 'combo' : echo ' <li><a class="black-text" href="#!"><span class="material-icons icon-bg-circle amber small">videogame_asset</span>'.$notif['jogador'].' fez '.$notif['ExtraDetalhes'].' em sua primeira vez</a> <time class="media-meta grey-text darken-2" datetime="2015-06-12T20:50:48+08:00"> '.Data::ExibirTempoDecorrido(date("Y-m-d H:i:s.B", strtotime($notif['regdate']))).'</time> </li>'; break; } } } ?> como eu faria para ser exibido todos os resultados registrados com o json_encode().
    • Por ezzcardoso
      Pessoal, estou fazendo um script php para selecionar registros no banco de dados... que funciona normalmente.. porém, não estou sabendo como trarar o dados gerados pelo script. Vejamos um exemplo.
      <?php abstract class Eac { private $localhost = "localhost"; private $root = "root"; private $password = ""; private $database = "database"; private $port = "3306"; protected function open() { $conn = new mysqli($this->localhost, $this->root, $this->password, $this->database, $this->port); $conn->select_db($this->database); $conn->set_charset("utf8"); if ($conn->connect_error) { return $conn->connect_error; } else { return $conn; } } } class SQL extends Eac { public function insert($table, $array) { if (is_array($array)) { $conn = $this->open(); $fields = array(); $values = array(); foreach ($array as $key => $value) { $fields[] = $key; $values[] = "'" . $value = $conn->real_escape_string($value) . "'"; } $fields = implode(",", $fields); $values = implode(",", $values); $sql = "INSERT INTO {$table} ({$fields}) VALUES ({$values})"; if ($conn->query($sql)) { return array( "Error" => false, "insert_id" => $conn->insert_id, "affected_rows" => $conn->affected_rows, "info" => $conn->info ); } else { return array( "error" => $conn->error ); } $conn->close(); } else { echo ("Não é array"); } } public function delete($table, $where) { $conn = $this->open(); $sql = "DELETE FROM {$table} {$where}"; if ($conn->query($sql)) { return array( "affected_rows" => $conn->affected_rows, "info" => $conn->info ); } else { return array( "error" => $conn->error ); } $conn->close(); } public function update($table, $array, $where) { if (is_array($array)) { $conn = $this->open(); $sql = "UPDATE {$table} SET "; $sets = array(); foreach ($array as $column => $value) { $sets[] = $column . " = '" . $value = $conn->real_escape_string($value) . "'"; } $sql .= implode(',', $sets); $sql .= $where; if ($conn->query($sql)) { return array( "Error" => false, "insert_id" => $conn->insert_id, "affected_rows" => $conn->affected_rows, "info" => $conn->info ); } else { return array( "error" => $conn->error ); } $conn->close(); } } public function select($table, $array, $rules) { $conn = $this->open(); switch ($array) { case '*': $conditions = array(); foreach ($rules as $column => $value) { $conditions[] =" {$column} {$value} "; } $condition = implode("",$conditions); echo $sql = "SELECT * FROM {$table} {$condition}"; break; case is_array($array): $fields = array(); foreach ($array as $column => $value) { $fields[] = $value; } $conditions = array(); foreach ($rules as $column => $value) { $conditions[] =" {$column} {$value} "; } $field = implode(",", $fields); $condition = implode("",$conditions); echo $sql = "SELECT {$field} FROM {$table} {$condition}"; break; } $select = $conn->query($sql); $result = array(); if ($select->num_rows > 0) { $stack = array(); while ($row = $select->fetch_array()) { $stack[] = $row; } return ($stack); } else { echo "0 results"; } $conn->close(); } } ?> Aí em cima é meu script normal pra fazer o select e está 100% funcionando.
       
       
      Agora o problema é quando eu faço o comando 
       
       
      $database = new SQL(); $cliente = $database->select("cliente","*",$rules = array()); var_dump($cliente); Mostra o seguinte 
      array (size=2) 0 => array (size=18) 0 => string '21' (length=2) 'id' => string '21' (length=2) 1 => string 'Lula Luiz Inacio Da Silva' (length=25) 'nome' => string 'Lula Luiz Inacio Da Silva' (length=25) 2 => string 'CPF' (length=3) 'tipo' => string 'CPF' (length=3) 3 => string '12345678912' (length=11) 'CPF_CNPJ' => string '12345678912' (length=11) 4 => string '66552852154' (length=11) 'telefone_celular' => string '66552852154' (length=11) 5 => string '31454564' (length=8) 'telefone_comercial' => string '31454564' (length=8) 6 => string 'lula@povo.com.br' (length=16) 'email' => string 'lula@povo.com.br' (length=16) 7 => string '5936d1d7296d0' (length=13) 'cliente_id' => string '5936d1d7296d0' (length=13) 8 => string 'lula é um ex presidente...' (length=28) 'obs' => string 'lula é um ex presidente...' (length=28) 1 => array (size=18) 0 => string '20' (length=2) 'id' => string '20' (length=2) 1 => string 'Dilma Luiz Inacio Da Silva' (length=26) 'nome' => string 'Dilma Luiz Inacio Da Silva' (length=26) 2 => string 'CPF' (length=3) 'tipo' => string 'CPF' (length=3) 3 => string '12345678912' (length=11) 'CPF_CNPJ' => string '12345678912' (length=11) 4 => string '66552852154' (length=11) 'telefone_celular' => string '66552852154' (length=11) 5 => string '31454564' (length=8) 'telefone_comercial' => string '31454564' (length=8) 6 => string 'lula@povo.com.br' (length=16) 'email' => string 'lula@povo.com.br' (length=16) 7 => string '5936d1b61f716' (length=13) 'cliente_id' => string '5936d1b61f716' (length=13) 8 => string 'lula é um ex presidente...' (length=28) 'obs' => string 'lula é um ex presidente...' (length=28)  
      agora... como que eu ponho isso em tabela ?????
       
       
      eu fiz o seguinte.
       
       
      foreach($cliente as $key => $value){ foreach($value as $keys => $values){ echo $values->nome; $values->CPF; } }  
       
      só que não funciona....
       
       
      resultado 
       
      Notice: Trying to get property of non-object 
       
       
      ...
       
       
       
      Minha questão é.... COMO  posso organizar aquela Array   em uma tabela de marcação HTML 
    • Por ezzcardoso
      Pessoal, estou fazendo um script php para selecionar registros no banco de dados... que funciona normalmente.. porém, não estou sabendo como trarar o dados gerados pelo script. Vejamos um exemplo.
      <?php abstract class Eac { private $localhost = "localhost"; private $root = "root"; private $password = ""; private $database = "database"; private $port = "3306"; protected function open() { $conn = new mysqli($this->localhost, $this->root, $this->password, $this->database, $this->port); $conn->select_db($this->database); $conn->set_charset("utf8"); if ($conn->connect_error) { return $conn->connect_error; } else { return $conn; } } } class SQL extends Eac { public function insert($table, $array) { if (is_array($array)) { $conn = $this->open(); $fields = array(); $values = array(); foreach ($array as $key => $value) { $fields[] = $key; $values[] = "'" . $value = $conn->real_escape_string($value) . "'"; } $fields = implode(",", $fields); $values = implode(",", $values); $sql = "INSERT INTO {$table} ({$fields}) VALUES ({$values})"; if ($conn->query($sql)) { return array( "Error" => false, "insert_id" => $conn->insert_id, "affected_rows" => $conn->affected_rows, "info" => $conn->info ); } else { return array( "error" => $conn->error ); } $conn->close(); } else { echo ("Não é array"); } } public function delete($table, $where) { $conn = $this->open(); $sql = "DELETE FROM {$table} {$where}"; if ($conn->query($sql)) { return array( "affected_rows" => $conn->affected_rows, "info" => $conn->info ); } else { return array( "error" => $conn->error ); } $conn->close(); } public function update($table, $array, $where) { if (is_array($array)) { $conn = $this->open(); $sql = "UPDATE {$table} SET "; $sets = array(); foreach ($array as $column => $value) { $sets[] = $column . " = '" . $value = $conn->real_escape_string($value) . "'"; } $sql .= implode(',', $sets); $sql .= $where; if ($conn->query($sql)) { return array( "Error" => false, "insert_id" => $conn->insert_id, "affected_rows" => $conn->affected_rows, "info" => $conn->info ); } else { return array( "error" => $conn->error ); } $conn->close(); } } public function select($table, $array, $rules) { $conn = $this->open(); switch ($array) { case '*': $conditions = array(); foreach ($rules as $column => $value) { $conditions[] =" {$column} {$value} "; } $condition = implode("",$conditions); echo $sql = "SELECT * FROM {$table} {$condition}"; break; case is_array($array): $fields = array(); foreach ($array as $column => $value) { $fields[] = $value; } $conditions = array(); foreach ($rules as $column => $value) { $conditions[] =" {$column} {$value} "; } $field = implode(",", $fields); $condition = implode("",$conditions); echo $sql = "SELECT {$field} FROM {$table} {$condition}"; break; } $select = $conn->query($sql); $result = array(); if ($select->num_rows > 0) { $stack = array(); while ($row = $select->fetch_array()) { $stack[] = $row; } return ($stack); } else { echo "0 results"; } $conn->close(); } } ?> Aí em cima é meu script normal pra fazer o select e está 100% funcionando.
       
       
      Agora o problema é quando eu faço o comando 
       
       
      $database = new SQL(); $cliente = $database->select("cliente","*",$rules = array()); var_dump($cliente); Mostra o seguinte 
      array (size=2) 0 => array (size=18) 0 => string '21' (length=2) 'id' => string '21' (length=2) 1 => string 'Lula Luiz Inacio Da Silva' (length=25) 'nome' => string 'Lula Luiz Inacio Da Silva' (length=25) 2 => string 'CPF' (length=3) 'tipo' => string 'CPF' (length=3) 3 => string '12345678912' (length=11) 'CPF_CNPJ' => string '12345678912' (length=11) 4 => string '66552852154' (length=11) 'telefone_celular' => string '66552852154' (length=11) 5 => string '31454564' (length=8) 'telefone_comercial' => string '31454564' (length=8) 6 => string 'lula@povo.com.br' (length=16) 'email' => string 'lula@povo.com.br' (length=16) 7 => string '5936d1d7296d0' (length=13) 'cliente_id' => string '5936d1d7296d0' (length=13) 8 => string 'lula é um ex presidente...' (length=28) 'obs' => string 'lula é um ex presidente...' (length=28) 1 => array (size=18) 0 => string '20' (length=2) 'id' => string '20' (length=2) 1 => string 'Dilma Luiz Inacio Da Silva' (length=26) 'nome' => string 'Dilma Luiz Inacio Da Silva' (length=26) 2 => string 'CPF' (length=3) 'tipo' => string 'CPF' (length=3) 3 => string '12345678912' (length=11) 'CPF_CNPJ' => string '12345678912' (length=11) 4 => string '66552852154' (length=11) 'telefone_celular' => string '66552852154' (length=11) 5 => string '31454564' (length=8) 'telefone_comercial' => string '31454564' (length=8) 6 => string 'lula@povo.com.br' (length=16) 'email' => string 'lula@povo.com.br' (length=16) 7 => string '5936d1b61f716' (length=13) 'cliente_id' => string '5936d1b61f716' (length=13) 8 => string 'lula é um ex presidente...' (length=28) 'obs' => string 'lula é um ex presidente...' (length=28)  
      agora... como que eu ponho isso em tabela ?????
       
       
      eu fiz o seguinte.
       
       
      foreach($cliente as $key => $value){ foreach($value as $keys => $values){ echo $values->nome; $values->CPF; } }  
       
      só que não funciona....
       
       
      resultado 
       
      Notice: Trying to get property of non-object 
       
       
      ...
       
       
       
      Minha questão é.... COMO  posso organizar aquela Array   em uma tabela de marcação HTML 
    • Por mnmn
      Olá pessoal, tudo bom?
       
      Poderiam me ajudar?
       
      Depois de executar o primeiro select preciso capturar o valor de duas calunas para cada linha retornada na consulta.
       
      As colunas que preciso capturar são: horario_horariofuncionario e tempo_servicosalao.
       
      Após capturar os valores dessas colunas, necessito usar esses valores no select que está dentro do laço WHILE.
       
      Porém a variável está vindo com valor diferente: deveria ser '21:00' mas está vindo :00
      <?php include 'conectar.php'; $servico = $_GET['servico']; $data = $_GET['data']; $diaDaSemana = $_GET['diaDaSemana']; $stmt = $conn->query("SET CHARACTER SET utf8"); $stmt = $conn->query("SET NAMES utf8"); //Selecionando horários disponíveis na data selecionada para todos profissionais que fizerem o serviço selecionado $stmt = $conn->prepare("SELECT hf.horario_horariofuncionario, hf.codigo_horariofuncionario, sf.codigo_servicosalao, s.nome_servico, ss.tempo_servicosalao, ss.preco_servicosalao, hf.data_horariofuncionario, hf.nomeDiaSemana_horariofuncionario, f.codigo_funcionario, f.nome_funcionario, f.apelido_funcionario, f.foto_funcionario FROM servicosalao ss NATURAL JOIN servico s NATURAL JOIN horariofuncionario hf NATURAL JOIN funcionario f NATURAL JOIN servicofuncionario sf WHERE sf.codigo_servicosalao = :servico AND hf.data_horariofuncionario = :data AND hf.nomeDiaSemana_horariofuncionario = :diaDaSemana AND hf.codigo_statushorariofuncionario IN (1,3) ORDER BY STR_TO_DATE(hf.horario_horariofuncionario,'%H:%i')"); $stmt->bindParam(':servico', $servico, PDO::PARAM_INT); $stmt->bindParam(':data', $data, PDO::PARAM_STR, 10); $stmt->bindParam(':diaDaSemana', $diaDaSemana, PDO::PARAM_STR, 15); $stmt->execute(); //Criando array $rows = array(); //Percorrendo resultados retornados while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $horario = $row['horario_horariofuncionario']; $tempo = $row['tempo_servicosalao']; $stmt = $conn->prepare("SELECT hf.horario_horariofuncionario FROM horariofuncionario hf NATURAL JOIN servicofuncionario sf WHERE sf.codigo_servicosalao = :servico AND hf.data_horariofuncionario = :data AND hf.nomeDiaSemana_horariofuncionario = :diaDaSemana AND hf.codigo_statushorariofuncionario = 2 group by (hf.horario_horariofuncionario) HAVING STR_TO_DATE(hf.horario_horariofuncionario,'%H:%i') BETWEEN STR_TO_DATE($horario,'%H:%i') AND SEC_TO_TIME( SUM( TIME_TO_SEC( STR_TO_DATE($horario,'%H:%i') ) + TIME_TO_SEC( STR_TO_DATE($tempo,'%i') ) ) )"); $stmt->bindParam(':servico', $servico, PDO::PARAM_INT); $stmt->bindParam(':data', $data, PDO::PARAM_STR, 10); $stmt->bindParam(':diaDaSemana', $diaDaSemana, PDO::PARAM_STR, 15); $stmt->execute(); //Recebendo o número de linhas retornadas $rows = $stmt->fetchAll(); //Contando o número de linhas retornadas $total = count($rows); //Se não retornou resultados if($total < 1) { $rows[] = $row; } } echo json_encode($rows); ?>
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.