Ir para conteúdo

Arquivado

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

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?

Compartilhar este post


Link para o post
Compartilhar em outros 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?

Compartilhar este post


Link para o post
Compartilhar em outros 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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por 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>'; }  
    • Por 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
    • Por 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.
       




    • Por Motta
      'Bug' no Instagram apaga milhares de seguidores de perfis
    • Por 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!
×

Informação importante

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