Jump to content
Matheus Guermandi Ribeiro

Array dentro de função recursiva

Recommended Posts

tabela Chamado

    idChamado
    dataChamado,
    statusChamado,
    descricaoChamado,
    tituloChamado,
    idChamadoPai,
    idRemetente,
    idDestinatario

 

function historicoChamado($idChamdoFilho) {

    static $ArrayIdChamadoPai = array();
    global $link;

    $cmdAux = "SELECT
           idChamadoPai
           FROM Chamado 
           WHERE idChamado = '$idChamdoFilho'";
    $resultAux = mysqli_query($link, $cmdAux);
    $dadosAux = mysqli_fetch_array($resultAux);
    $idChamadoPai = $dadosAux['idChamadoPai'];

    if ($idChamadoPai != NULL) {
        array_unshift($ArrayIdChamadoPai, $idChamadoPai);
        historicoChamado($idChamadoPai);
    } else {
        return $ArrayIdChamadoPai;
    }
}

 

 

 

Preciso que esse array retorno todos os idChamadoPai. Já tentei colocar o ArrayIdChamadoPai como global mais tbm não funciona. Quem puder ajudar salvaria muito 

Share this post


Link to post
Share on other sites

function historicoChamado($idChamdoFilho, $ArrayIdChamadoPai) { 

    global $link;

    $cmdAux = "SELECT
           idChamadoPai
           FROM Chamado 
           WHERE idChamado = '$idChamdoFilho'";
    $resultAux = mysqli_query($link, $cmdAux);
    $dadosAux = mysqli_fetch_array($resultAux);
    $idChamadoPai = $dadosAux['idChamadoPai'];

    if ($idChamadoPai != NULL) {
        array_unshift($ArrayIdChamadoPai, $idChamadoPai);
        historicoChamado($idChamadoPai, $ArrayIdChamadoPai);
    } else {
        return $ArrayIdChamadoPai;
    }
} 

Ele passa o array como argumento toda vez que há a recursividade.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By ROGERIO MOREIRA
      Olá,
       
      preciso gerar listagem do meu banco de dados mas preciso definir um certo item como cabeça na pesquisa:
       
      ex:
      quero listar meus registros em orderm de:
       
      primeiro ESTADO    (ordem alfabetica)
      depois    CIDADE     (ordem alfabetica)
      depois    BAIRRO,    porém, quero colocar CENTRO em primeiro, depois os outros bairros
       
    • By Sapinn
      Estou usando o editor SummerNote em um projeto mas ele não está enviando os dados com o HTML apenas o texto. Eu estou colocando assim:

               
                                        <textarea id="summernote" class="textarea" required name="content">     <script> $('#summernote').summernote({         tabsize: 2,         height: 500,         toolbar: [           ['style', ['style']],           ['font', ['bold', 'underline', 'clear']],           ['color', ['color']],           ['para', ['ul', 'ol', 'paragraph']],           ['table', ['table']],           ['insert', ['link', 'picture', 'video']],           ['view', ['fullscreen', 'codeview', 'help']]         ]       });           </script>  
       
    • By marcelo.ourico
      Boa noite. Pessoal, mais uma vez aqui pedindo uma ajuda.

      Estou tentando enviar uma NFSe via SOAP.

      Estou recebendo o seguinte erro:

      Fatal error: Uncaught SoapFault exception: [SOAP-ENV:Client] ERRO : cvc-complex-type.4: Attribute 'Algorithm' must appear on element 'ns2:CanonicalizationMethod'. in

      O meu Array está da seguinte forma:
      Array
      (
      [CanonicalizationMethod] => Array
      (
      [@attributes] => Array
      (
      [Algorithm] => http://www.w3.org/TR/2001/REC-xml-c14n-20010315
      )
      )

      Não entendi o porque desse erro, alguém sabe ajudar?
    • By Algorithm
      Olá a todos
       
      Eu estou codificando um exemplo de uso do GraphQL com Nodejs, mas eu estou recebendo um erro de syntax relacionado a [ : ] [ Dois Pontos ], mas eu comparei meu codigo, com o da documentação oficial e esta tudo certo. Será que alguem, conseguiria achar o erro ?
       
      OBS: Esta incluso neste post [ Exemplo Documentação, Meu Exemplo, Mensagem de Erro, Código Completo ]
       
      Exemplo Documentação
      module.exports = /* GraphQL */ ` type Client { id: ID! name: String age: Int products: [Product] } type Query { clients: [Client] client(id: ID!): Client } type Mutation { addClient(name: String!, age: Int!): Client } `  
      Meu Exemplo
      const typeDefs = ` type Pessoa { _id: ID _codigo: Float _nome: String _idade: Int _email: String } input inputPessoa { _codigo: Float _nome: String _idade: Int _email: String } type Query { resposta: String saudacao(nome: String!): String findPessoaOne(codigo: Float): Pessoa findPessoa(input: inputPessoas): [Pessoa] } type Mutation { insertPessoa(input: inputPessoa): Pessoa updatePessoa(codigo: Float, input: inputPessoa) Pessoa deletePessoa(codigo: Float) [Pessoa] } `;  
      Mensagem de Erro
      C:\Users\Core\node\node_modules\graphql\language\parser.js:1413 throw (0, _syntaxError.syntaxError)( ^ GraphQLError: Syntax Error: Expected ":", found Name "Pessoa". at syntaxError (C:\Users\Core\node\node_modules\graphql\error\syntaxError.js:15:10) at Parser.expectToken (C:\Users\Core\node\node_modules\graphql\language\parser.js:1413:40) at Parser.parseFieldDefinition (C:\Users\Core\node\node_modules\graphql\language\parser.js:847:10) at Parser.optionalMany (C:\Users\Core\node\node_modules\graphql\language\parser.js:1510:28) at Parser.parseFieldsDefinition (C:\Users\Core\node\node_modules\graphql\language\parser.js:831:17) at Parser.parseObjectTypeDefinition (C:\Users\Core\node\node_modules\graphql\language\parser.js:803:25) at Parser.parseDefinition (C:\Users\Core\node\node_modules\node_modules\graphql\language\phql\language\parser.js:171:23) at Parser.many (C:\Users\Core\node\node_modules\graphql\language\parser.js:1529:26) at Parser.parseDocument (C:\Users\Core\node\node_modules\graphql\language\parser.js:121:25) at parse (C:\Users\Core\node\node_modules\graphql\language\parser.js:32:17) { path: undefined, locations: [ { line: 26, column: 57 } ], extensions: [Object: null prototype] {} }  
      Codigo Completo
      // Requires const express = require('express'); const GraphQL_HTTP = require('express-graphql'); const { mergeSchemas } = require('@graphql-tools/schema'); // Run // const connect = MongoClient.connect(''); const app = express(); const getCode = () => { return 10 }; // GraphQL Definitions || Query and Mutation const typeDefs = ` type Pessoa { _id: ID _codigo: Float _nome: String _idade: Int _email: String } input inputPessoa { _codigo: Float _nome: String _idade: Int _email: String } type Query { resposta: String saudacao(nome: String!): String findPessoaOne(codigo: Float): Pessoa findPessoa(input: inputPessoas): [Pessoa] } type Mutation { insertPessoa(input: inputPessoa): Pessoa updatePessoa(codigo: Float, input: inputPessoa) Pessoa deletePessoa(codigo: Float) [Pessoa] } `; // Functions const resolvers = { Query: { resposta: function() { return `GraphQL Conectado com Sucesso...`; }, saudacao: function(_, args) { return `Olá ${args.nome}! Seja Muito Bem Vindo(a) a GraphQL!!!! ` }, findPessoaOne: function(_, args) { return db.collection('GraphQL-Pessoa').findOne({codigo: args.codigo}) .then((result) => { return result; }); }, findPessoa: function(_, args) { return db.collection(`GraphQL-Pessoa`).find(args.input).toArray() .then((result) => { return result; }); }, Mutation: { insertPessoa: function(_, args) { args.input.codigo = getCode(); return db.collection(`GraphQL-Pessoa`).insertOne(args.input) .then((result) => { return result.ops[0]; }); }, updatePessoa: function(_, args) { return db.collection('GraphQL-Pessoa').updateOne({codigo: args.codigo}, {$set: args.input}) .then((result) => { if(result.result.n > 0) return `Registro Alterado com Sucesso!`; else return `Ocorreu um erro ao alterar o registro`; }); }, deletePessoa: function(_, args) { return db.collection(`GraphQL-Pessoa`).deleteOne({codigo: args.codigo}) .then((result) => { if(result.result.n > 0) return `Registro Deletado com Sucesso!`; else return `Ocorreu um erro ao deletar o registro`; }); } } } }; const schema = mergeSchemas({ typeDefs: typeDefs, resolvers: resolvers }) // Listen app.listen(3005, () => { console.log(`Servidor Rodando na Porta 3005`); })  
       
      Obrigado
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.