Jump to content
fael97

UNDEFINED INDEX DO CAPETA

Recommended Posts

Ola pessoa descupem-me pelo título mas tive que faze-lo.

é o seguinte estou ficando louco com um bug que está me ocorrendo e não sei resolve-lo.

 

bem, tenho uma tabela chamada conexões, nela tenho os campos (familia_um,familia_dois,ativo) e tenho outra tabela chamada familia com varios campos.

quero fazer  assim, buscar todas as famílias  na base e filtrar as conexões de uma determinada família. Se existe conexão entre a família x e y em conexões [familia_um = x e familia_dois = y], eu não vou pegar a família y(a família que está na tabela familias), ou seja quero pegar a família que não está em conexão com com as famílias de uma determinada família, acho que entenderam.

 

já fiz assim, criei um vetor chamado conexoes_array que guardará todas as famílias para que possa ser filtrado.

Citar

 

        $conexoes_array = array();

 

        $tamanho_con_array = 0;
        for ($i=0; $i < $linhas_conexoes; $i++) { 

            $conexoes_array[] = $conexoes[$i]['idfamilia'];
            $tamanho_con_array = $tamanho_con_array +1;
        }

 

criei outro chamado familia_array que guarda as minhas conexões, ou seja cada família possui conexões na base como se fosse uma rede

agora tenho que verificar 

Citar

 

        //separar os ids de conexão da família e joga no array de conexoes familia
        for ($i=0; $i < $linhas_familias; $i++) { 
            
            if($familia_conexao[$i]['familia_um'] == $familia){

                $familia_array[] = $familia_conexao[$i]['familia_dois'];
            }elseif($familia_conexao[$i]['familia_dois'] == $familia){

                $familia_array[] = $familia_conexao[$i]['familia_um'];;
            }            
        }

 

 

agora está desenvolvendo mais, quero pegar a família de conexoes_array(a,c,e) que não está entre minhas conexões em familia_array(a,b,c,d,e), por tanto fiz assim

criei uma array chamado nova_conexao

Citar

 

        $nova_conexao = array(
            "tamanho" => null,
            "idfamilia" => null,
            "slogan" => null,
            "imagem_capa" =>null,
            "icon" => null
        );

 

aqui eu filtro da maneira que eu disse, mas estou com um seguinte erro

        $conexao[0]['tamanho'] = 0;

        for ($i=0; $i < $tamanho_con_array; $i++) { 

            //verifica se não existe as conexoes(novas familias) em minhas conexoes(ja definidas)

            if(!in_array($conexoes_array[$i], $familia_array)){

                //tento atribuir ao vetor nova_conexao os valores da query
                $nova_conexao[0]['tamanho'] = $conexao[0]['tamanho'] +1;
                $nova_conexao[$i]['idfamilia'] = $conexoes[$i]['idfamilia'];
                $nova_conexao[$i]['slogan'] = $conexoes[$i]['slogan'];
            }
        }

 

 

Mas está aparecendo o seguinte erro, e assim por diante para outras chaves.....

( ! ) Notice: Undefined index: idfamilia in D:\wamp64\www\onfamily.com\nav\conexoes\sistema\busca_conexoes.php on line 110
Call Stack
# Time Memory Function Location
1 0.0000 402080 {main}( ) ...\busca_conexoes.php:0

 

 

Oque faço para resolver este erro, e se caso houver uma outra solução para este meu problema, podem me ajudar?

Share this post


Link to post
Share on other sites

ATUALIZANDO ao tentar atribuir ao array usando numeros ao invez da $i funciona perfeitamente

$nova_conexao[0]['idfamilia'] = $conexoes[$i]['idfamilia'];

$nova_conexao[1]['idfamilia'] = $conexoes[$i]['idfamilia'];

$nova_conexao[2]['idfamilia'] = $conexoes[$i]['idfamilia'];

$nova_conexao[3]['idfamilia'] = $conexoes[$i]['idfamilia'];

 

oque pode ser pessoal?

Share this post


Link to post
Share on other sites

estou quase encontrando o erro, ao utilizar o seguinte trecho de codigo, obs: sem verificar se existe conexão entre as familias utilizando a função in array funciona normal

 

                $nova_conexao[0]['tamanho'] = $conexao[0]['tamanho'] +1;
                $nova_conexao[$i]['idfamilia'] = $conexoes[$i]['idfamilia'];
                $nova_conexao[$i]['slogan'] = $conexoes[$i]['slogan'];
                $nova_conexao[$i]['imagem_capa'] = $conexoes[$i]['imagem_capa'];
                $nova_conexao[$i]['icon'] = $conexoes[$i]['icon'];

 

agora quando utilizo a função in_array....

            //se não existe familia de conexoes em conexoes já definidas atribui os valores

            if(!in_array($conexao_familia, $familia_array)){
                $nova_conexao[0]['tamanho'] = $conexao[0]['tamanho'] +1;
                $nova_conexao[$i]['idfamilia'] = $conexoes[$i]['idfamilia'];
                $nova_conexao[$i]['slogan'] = $conexoes[$i]['slogan'];
                $nova_conexao[$i]['imagem_capa'] = $conexoes[$i]['imagem_capa'];
                $nova_conexao[$i]['icon'] = $conexoes[$i]['icon'];                
            }

quando tento atribuir os valores dentro de if utilizando a função in_array acontece o undefined index, alguem sabe o porque?

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 eduardodsilvaq
      Não sei oq tem de errado.
       
      O erro:
      Notice: Undefined index: name in C:\AppServ\www\includes\functions.php on line 105 A linha do erro:
      <td width="106"><div class="fonte">'. $row["name"] .'</div></td> O codigo:
      function mini_ranking (){ $PDO = db_connect_gamedata(); $sql = "SELECT name baselevel FROM u_hero WHERE class <> '80' ORDER BY baselevel Desc Limit 6"; $result = $PDO->query($sql); $guild = $result->fetchAll(PDO::FETCH_ASSOC); $i = 1; echo '<table width="153" height="0" border="0">'; foreach($guild as $row) { echo '<tr> <td width="0" height="0" align="center"><div class="fonte">'. $i++ . '</div></td> <td width="106"><div class="fonte">'. $row["name"] .'</div></td> <td width="20"><div class="fonte">'. $row["baselevel"] .'</div></td> <tr>'; } echo '</table>'; }  
    • By Motta
      ‘Reinicie tudo a cada 149 horas’ essa é a solução para um bug em aviões da Airbus de mais de US$ 300 milhões
    • By nilo7004b
      Ola pessoal, sou novo aqui no fórum e desculpem qualquer erro, já procurei bastante pelo meu problema e não consegui encontrar nada a respeito. O meu problema é que eu estou desenvolvendo uma pagina web e após definir o background como um gradiente e adicionar divs aparecem umas manchas brancas pela pagina que vão alterando de posição a medida em que vai fazendo scroll na pagina, na imagem anexada tem o exemplo, gostaria de saber qual a origem do problema e como resolver. Desde já agradeço pela ajuda.
      Obs.: as DIVs adicionadas não estão com a cor de background definida.
       




    • By Motta
      'Bug' no Instagram apaga milhares de seguidores de perfis
    • By ShadowDLL
      Olá pessoas,
      Estou desenvolvendo um painel responsivo, porém, durante os testes do mesmo encontrei um erro ao abrir o 'navbar',
      sendo assim, gostaria de pedir uma ajudinha de vocês se possível...
       
      Bem, vamos lá!
       
       
      [ Qual o Problema? ]
      Ao abrir o 'navbar' na resolução para dispositivos móveis, o conteúdo presente em <div class="one-content"> deveria
      ser 'jogado' para a direita sem redimensionar a largura dos itens conforme o 'navbar' é apresentado na tela, porém,
      o mesmo está redimensionando a largura dos itens para ajustar-se na tela sem os 'jogar' para a direita...
       
      Vale a pena ressaltar que o conteúdo só deverá ficar com uma parte "oculta" nas resoluções de dispositivos móveis.
       
       
      [ Imagem do Erro ]

       
      [ Imagem da Solução ]

       
      [ Código com Erro ]
       
      HTML
      <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="one-wrapper"> <div class="one-sidebar"></div> <div class="one-content"> <div class="one-navbar"> <div class="toggle"> <a class="toggle-btn"></a> </div> </div> <div class="container"> <form class="form-inline"> <label class="mr-sm-2" for="inlineFormCustomSelect">Preference</label> <select class="custom-select mb-2 mr-sm-2 mb-sm-0" id="inlineFormCustomSelect"> <option selected>Choose...</option> <option value="1">One</option> <option value="2">Two</option> <option value="3">Three</option> </select> <label class="custom-control custom-checkbox mb-2 mr-sm-2 mb-sm-0"> <input type="checkbox" class="custom-control-input"> <span class="custom-control-indicator"></span> <span class="custom-control-description">Remember my preference</span> </label> <button type="submit" class="btn btn-primary">Submit</button> </form> </div> </div> </div> CSS
      @import url('https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css'); .one-wrapper { align-items: stretch; display: flex; width: 100%; } .one-sidebar { background-color: #333c4e; transition: all 0.2s; min-width: 250px; max-width: 250px; color: #ffffff; } .one-sidebar.active { margin-left: -250px; } .one-content { background-color: #f0f1f3; align-items: stretch; transition: all 0.2s; min-height: 100vh; color: #666666; width: 100%; } .one-navbar { border-bottom: 1px solid #cccccc; background-color: #ffffff; padding: 10px; width: 100%; } .one-navbar .toggle { padding: 20px; } .one-navbar .toggle a { background: #000000; padding: 20px; } JS
      $(function(){ $ ('.toggle-btn').click (function(){ $('.one-sidebar').toggleClass('active'); }); if ($(window).width() < 1000) { $('.one-sidebar').toggleClass('active'); } });  
      Desde já, agradeço!
×

Important Information

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